kotlin-compiler-lite

A subset of the Kotlin compiler to be used by kotlin-metadata.

License

License

MIT
Categories

Categories

Kotlin Languages Data
GroupId

GroupId

me.eugeniomarletti.kotlin.metadata
ArtifactId

ArtifactId

kotlin-compiler-lite
Last Version

Last Version

1.0.3-k-1.2.40
Release Date

Release Date

Type

Type

jar
Description

Description

kotlin-compiler-lite
A subset of the Kotlin compiler to be used by kotlin-metadata.
Project URL

Project URL

https://github.com/Takhion/kotlin-metadata__kotlin-compiler-lite
Source Code Management

Source Code Management

https://github.com/Takhion/kotlin-metadata__kotlin-compiler-lite/tree/v1.0.3

Download kotlin-compiler-lite

How to add to project

<!-- https://jarcasting.com/artifacts/me.eugeniomarletti.kotlin.metadata/kotlin-compiler-lite/ -->
<dependency>
    <groupId>me.eugeniomarletti.kotlin.metadata</groupId>
    <artifactId>kotlin-compiler-lite</artifactId>
    <version>1.0.3-k-1.2.40</version>
</dependency>
// https://jarcasting.com/artifacts/me.eugeniomarletti.kotlin.metadata/kotlin-compiler-lite/
implementation 'me.eugeniomarletti.kotlin.metadata:kotlin-compiler-lite:1.0.3-k-1.2.40'
// https://jarcasting.com/artifacts/me.eugeniomarletti.kotlin.metadata/kotlin-compiler-lite/
implementation ("me.eugeniomarletti.kotlin.metadata:kotlin-compiler-lite:1.0.3-k-1.2.40")
'me.eugeniomarletti.kotlin.metadata:kotlin-compiler-lite:jar:1.0.3-k-1.2.40'
<dependency org="me.eugeniomarletti.kotlin.metadata" name="kotlin-compiler-lite" rev="1.0.3-k-1.2.40">
  <artifact name="kotlin-compiler-lite" type="jar" />
</dependency>
@Grapes(
@Grab(group='me.eugeniomarletti.kotlin.metadata', module='kotlin-compiler-lite', version='1.0.3-k-1.2.40')
)
libraryDependencies += "me.eugeniomarletti.kotlin.metadata" % "kotlin-compiler-lite" % "1.0.3-k-1.2.40"
[me.eugeniomarletti.kotlin.metadata/kotlin-compiler-lite "1.0.3-k-1.2.40"]

Dependencies

compile (1)

Group / Artifact Type Version
org.jetbrains.kotlin : kotlin-stdlib jar 1.2.40

Project Modules

There are no modules declared in this project.

kotlin-compiler-lite

bintray maven-central

Wraps JetBrains/kotlin to produce a subset of the Kotlin compiler to be used by kotlin-metadata.

It's a standalone project because versioning is parallel (follows the compiler) and building it is quite heavy, especially for the CI.

Features

  • all Kotlin/Java sources, even for external dependencies
  • every package relocated under me.eugeniomarletti.kotlin.metadata.shadow.* in both compiled classes and sources
  • "full" version of all Protocol Buffers, instead of the "lite" one used by default (see Options > optimize_for > LITE_RUNTIME) (temporarily disabled until fixed)
  • .proto files package/import directives fixed to reflect their relative locations (allows inspection through the IDE)

Download

This should not be used directly, see kotlin-metadata instead!

compile "me.eugeniomarletti.kotlin.metadata:kotlin-compiler-lite:$version"

Random notes

  • since having different versions of the gradle wrapper often makes the CI run out of memory and fail, gradlew is a symlink to the one in the wrapped repository
  • doesn't modify any files on the original build, instead relies on runtime injection of modules through an initialization script
  • overrides are performed in kotlin.init.gradle and __injected/override/build.gradle.kts
  • the top level build handles:
    • downloading external dependencies
    • starting inner build with init script
    • uploading generated artifacts

Versions

Version
1.0.3-k-1.2.40
1.0.1-k-1.2.31
1.0.0-k-1.2.30