provider

Clone Tools
  • last updated a few seconds ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Convert to multi-project build in preparation to adding new modules

See #304

    • -108
    • +0
    ./BuildscriptBlockExtractionTest.kt
    • -52
    • +0
    ./KotlinScriptClassPathProviderTest.kt
  1. … 258 more files in changeset.
Integration test samples

See #345

    • -1
    • +1
    ./KotlinScriptClassPathProviderTest.kt
  1. … 31 more files in changeset.
Dedupe script classpath computation

    • -1
    • +1
    ./KotlinScriptClassPathProviderTest.kt
  1. … 4 more files in changeset.
Polish

- Normalise placement of `private`, `protected`, `internal` and

`inline` modifiers

    • -1
    • +2
    ./KotlinScriptClassPathProviderTest.kt
  1. … 40 more files in changeset.
:arrow_up: Kotlin 1.1.2-eap-44 :tada:

Resolves #321

  1. … 5 more files in changeset.
Polish `ClassLoaderHierarchyTest`

Normalise line separators before attempting to lex the script

Resolves: #207, #227

    • -0
    • +12
    ./BuildscriptBlockExtractionTest.kt
  1. … 4 more files in changeset.
:arrow_up: mockito-kotlin 1.2.0

    • -1
    • +1
    ./KotlinScriptClassPathProviderTest.kt
  1. … 3 more files in changeset.
Handle `HasImplicitReceiver` annotation via Kotlin compiler plugin

See #155

    • -15
    • +4
    ./KotlinScriptClassPathProviderTest.kt
  1. … 22 more files in changeset.
Polish top-level definitions, parameter lists and exceptions

* Separate top-level definitions by two lines

* Segregate visibility modifier of top-level definition to

its own line

* Prefer starting long parameter lists at the next line (more

sustainable in face of method renames)

* Remove unnecessary `Exception` suffix from class names

* Remove unnecessary prefixes from field names

* Use better name for exception variables

  1. … 38 more files in changeset.
Guard against multiple buildscript/plugins blocks in a single script

Resolves #186

    • -0
    • +13
    ./BuildscriptBlockExtractionTest.kt
    • -0
    • +35
    ./LineAndColumnFromRangeTest.kt
  1. … 4 more files in changeset.
Generate builtin plugin id extensions

See #168

    • -9
    • +9
    ./KotlinScriptClassPathProviderTest.kt
  1. … 9 more files in changeset.
Preserve build script file name in cached classes

See #172

    • -0
    • +51
    ./LinePreservingSubstringTest.kt
  1. … 4 more files in changeset.
Refer to buildscript *blocks* instead of *sections*

And consistenly use a lower-case `s` in the middle of the word when

referring to just the block and an upper-case `S` when referring to the

script file as a whole.

    • -0
    • +83
    ./BuildscriptBlockExtractionTest.kt
  1. … 7 more files in changeset.
Don't isolate the script classpath

Now that the kotlin package is visible through the Gradle API

ClassLoader and given the Kotlin runtime backwards compatibility

guarantees there's no longer a reason for the fragile classpath

isolation logic.

Resolves #119

    • -0
    • +38
    ./ChildFirstClassLoader.kt
  1. … 2 more files in changeset.
Rename {PostDelegating => ChildFirst}ClassLoader

  1. … 3 more files in changeset.
Use AbstractClassLoaderScope.path when available

Resolves #143

  1. … 1 more file in changeset.
Log ClassLoader hierarchy upon ClassLoader errors

See #143

    • -0
    • +61
    ./ClassLoaderHierarchyTest.kt
  1. … 8 more files in changeset.
Report API jar generation progress

Resolves #116

    • -0
    • +62
    ./KotlinScriptClassPathProviderTest.kt
  1. … 10 more files in changeset.
Polish `BuildScriptExtractionTest`

- Extract method

Extract `buildscript` section using `KotlinLexer`

    • -0
    • +86
    ./BuildScriptExtractionTest.kt
  1. … 1 more file in changeset.
Replace fragile integration test by Gradle TestKit

    • -126
    • +0
    ./KotlinScriptPluginFactoryTest.kt
  1. … 2 more files in changeset.
Update test to compile against latest core nightly

Update to latest `DefaultClassLoaderScopeRegistry` API

Polish `KotlinScriptPluginFactoryTest`

Extract builtin tasks to its own plugin

And rely on idempotent plugin application instead of explicitly checking

for duplicate tasks.

  1. … 3 more files in changeset.
Don't create duplicate tasks

Fixes #6

    • -0
    • +62
    ./KotlinScriptPluginTest.kt
  1. … 1 more file in changeset.
Attempt to reproduce 'loader constraint violation'

This is a work in progress attempt at reproducing the 'loader constraint

violation' observed when defining the following task:

task<Zip>("repackageKotlinCompilerEmbeddable") {

baseName = "kotlin-compiler-embeddable"

version = "${kotlinVersion}a"

extension = "jar"

entryCompression = ZipEntryCompression.STORED

from(Callable {

val files = configurations.getByName("compile").files

zipTree(files.single { it.name.startsWith(baseName) })

})

exclude("META-INF/services/java.nio.charset.spi.CharsetProvider")

destinationDir = buildDir

description = "Repackages '$baseName:$version' to remove broken META-INF/services files"

}

Which caused the following error:

loader constraint violation: when resolving method

"org.gradle.script.lang.kotlin.ProjectExtensionsKt.task(

Lorg/gradle/api/Project;Ljava/lang/String;Lkotlin/reflect/KClass;

Lkotlin/jvm/functions/Function1;)Lorg/gradle/api/Task;"

the class loader (instance of

org/jetbrains/kotlin/codegen/GeneratedClassLoader) of the current

class, Build_gradle, and the class loader (instance of

org/gradle/internal/classloader/MutableURLClassLoader) for the method's

defining class, org/gradle/script/lang/kotlin/ProjectExtensionsKt, have

different Class objects for the type kotlin/reflect/KClass used in the

signature

See #25

    • -0
    • +126
    ./KotlinScriptPluginFactoryTest.kt
  1. … 3 more files in changeset.