mirror of
https://github.com/apple/pkl.git
synced 2026-03-28 03:51:14 +01:00
Update Kotlin to 2.0 (#900)
- update Kotlin from 1.7.10 to 2.0.21
- Kotlin 1.6 dependencies in Gradle lock files are expected because kotlinc,
which is also used by some tests, internally uses some 1.6 dependencies
for backwards compatibility reasons.
- update kotlinx-html and kotlinx-serialization
- adapt Kotlin code where necessary
- use Kotlin stdlib Path APIs where possible
- fix IntelliJ Kotlin inspection warnings
- reformat code with `./gradlew spotlessApply`
- ktfmt adds lots of trailing commas
- Add workaround to fix IntelliJ "unresolved reference" errors
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright © 2024 Apple Inc. and the Pkl project authors. All rights reserved.
|
||||
* Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -21,11 +21,11 @@ import java.io.Writer
|
||||
import java.net.URI
|
||||
import java.nio.file.Path
|
||||
import java.nio.file.StandardOpenOption
|
||||
import kotlin.io.path.createParentDirectories
|
||||
import kotlin.io.path.exists
|
||||
import kotlin.io.path.isDirectory
|
||||
import org.pkl.commons.cli.CliCommand
|
||||
import org.pkl.commons.cli.CliException
|
||||
import org.pkl.commons.createParentDirectories
|
||||
import org.pkl.commons.currentWorkingDir
|
||||
import org.pkl.commons.writeString
|
||||
import org.pkl.core.Closeables
|
||||
@@ -165,13 +165,13 @@ constructor(
|
||||
options.moduleOutputSeparator + '\n',
|
||||
Charsets.UTF_8,
|
||||
StandardOpenOption.WRITE,
|
||||
StandardOpenOption.APPEND
|
||||
StandardOpenOption.APPEND,
|
||||
)
|
||||
outputFile.writeString(
|
||||
output,
|
||||
Charsets.UTF_8,
|
||||
StandardOpenOption.WRITE,
|
||||
StandardOpenOption.APPEND
|
||||
StandardOpenOption.APPEND,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright © 2024 Apple Inc. and the Pkl project authors. All rights reserved.
|
||||
* Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -80,6 +80,6 @@ data class CliEvaluatorOptions(
|
||||
) {
|
||||
|
||||
companion object {
|
||||
val defaults = CliEvaluatorOptions(CliBaseOptions())
|
||||
val defaults: CliEvaluatorOptions = CliEvaluatorOptions(CliBaseOptions())
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright © 2024 Apple Inc. and the Pkl project authors. All rights reserved.
|
||||
* Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,8 +16,8 @@
|
||||
package org.pkl.cli
|
||||
|
||||
import java.io.Writer
|
||||
import kotlin.io.path.createParentDirectories
|
||||
import org.pkl.commons.cli.CliCommand
|
||||
import org.pkl.commons.createParentDirectories
|
||||
import org.pkl.commons.writeString
|
||||
import org.pkl.core.Closeables
|
||||
import org.pkl.core.ModuleSource
|
||||
@@ -26,7 +26,7 @@ class CliImportAnalyzer
|
||||
@JvmOverloads
|
||||
constructor(
|
||||
private val options: CliImportAnalyzerOptions,
|
||||
private val consoleWriter: Writer = System.out.writer()
|
||||
private val consoleWriter: Writer = System.out.writer(),
|
||||
) : CliCommand(options.base) {
|
||||
|
||||
override fun doRun() {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright © 2024 Apple Inc. and the Pkl project authors. All rights reserved.
|
||||
* Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -22,7 +22,7 @@ import org.pkl.core.messaging.ProtocolException
|
||||
import org.pkl.server.Server
|
||||
|
||||
class CliServer(options: CliBaseOptions) : CliCommand(options) {
|
||||
override fun doRun() =
|
||||
override fun doRun(): Unit =
|
||||
try {
|
||||
val server = Server.stream(System.`in`, System.out)
|
||||
server.use { it.start() }
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright © 2024 Apple Inc. and the Pkl project authors. All rights reserved.
|
||||
* Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -20,7 +20,7 @@ private val cmdRegex = Regex(":(\\p{Alpha}*)(\\p{Space}*)(.*)", RegexOption.DOT_
|
||||
internal fun getMatchingCommands(input: String): List<ParsedCommand> {
|
||||
val match = cmdRegex.matchEntire(input) ?: return listOf()
|
||||
val (cmd, ws, arg) = match.destructured
|
||||
return Command.values()
|
||||
return Command.entries
|
||||
.filter { it.toString().lowercase().startsWith(cmd) }
|
||||
.map { ParsedCommand(it, cmd, ws, arg) }
|
||||
}
|
||||
@@ -29,7 +29,7 @@ internal data class ParsedCommand(
|
||||
val type: Command,
|
||||
val cmd: String,
|
||||
val ws: String,
|
||||
val arg: String
|
||||
val arg: String,
|
||||
)
|
||||
|
||||
internal enum class Command {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright © 2024 Apple Inc. and the Pkl project authors. All rights reserved.
|
||||
* Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -40,7 +40,7 @@ internal abstract class JLineFileNameCompleter : Completer {
|
||||
override fun complete(
|
||||
reader: LineReader,
|
||||
commandLine: ParsedLine,
|
||||
candidates: MutableList<Candidate>
|
||||
candidates: MutableList<Candidate>,
|
||||
) {
|
||||
val buffer = commandLine.word().substring(0, commandLine.wordCursor())
|
||||
val current: Path
|
||||
@@ -78,7 +78,7 @@ internal abstract class JLineFileNameCompleter : Completer {
|
||||
null,
|
||||
if (reader.isSet(LineReader.Option.AUTO_REMOVE_SLASH)) sep else null,
|
||||
null,
|
||||
false
|
||||
false,
|
||||
)
|
||||
)
|
||||
} else {
|
||||
@@ -90,7 +90,7 @@ internal abstract class JLineFileNameCompleter : Completer {
|
||||
null,
|
||||
null,
|
||||
null,
|
||||
true
|
||||
true,
|
||||
)
|
||||
)
|
||||
}
|
||||
@@ -122,7 +122,7 @@ internal abstract class JLineFileNameCompleter : Completer {
|
||||
terminal: Terminal,
|
||||
path: Path,
|
||||
resolver: StyleResolver,
|
||||
separator: String
|
||||
separator: String,
|
||||
): String {
|
||||
val builder = AttributedStringBuilder()
|
||||
val name = path.fileName.toString()
|
||||
@@ -162,7 +162,7 @@ internal class FileCompleter(override val userDir: Path) : JLineFileNameComplete
|
||||
override fun complete(
|
||||
reader: LineReader,
|
||||
commandLine: ParsedLine,
|
||||
candidates: MutableList<Candidate>
|
||||
candidates: MutableList<Candidate>,
|
||||
) {
|
||||
val loadCmd =
|
||||
getMatchingCommands(commandLine.line()).find { it.type == Command.Load && it.ws.isNotEmpty() }
|
||||
@@ -174,7 +174,7 @@ internal class FileCompleter(override val userDir: Path) : JLineFileNameComplete
|
||||
|
||||
internal object CommandCompleter : Completer {
|
||||
private val commandCandidates: List<Candidate> =
|
||||
Command.values().map { Candidate(":" + it.toString().lowercase()) }
|
||||
Command.entries.map { Candidate(":" + it.toString().lowercase()) }
|
||||
|
||||
override fun complete(reader: LineReader, line: ParsedLine, candidates: MutableList<Candidate>) {
|
||||
if (line.wordIndex() == 0) candidates.addAll(commandCandidates)
|
||||
|
||||
Reference in New Issue
Block a user