The Kotlin Programming Language
Java Kotlin JavaScript Other
Switch branches/tags
Nothing to show
Pull request Compare This branch is 3 commits ahead, 35109 commits behind JetBrains:master.
Permalink
Failed to load latest commit information.
.idea Initial implementation of a static injection framework Mar 13, 2012
bin bin/kotlin: better lookup for idea home, fix classpath Feb 26, 2012
build-tools Build tools compilation error - absolute path is logged. Mar 8, 2012
compiler Initial implementation of a static injection framework Mar 13, 2012
confluence Copyrights set to Apache, reflecting it's now open source Feb 14, 2012
docs refactored std.* package to be kotlin.*. Due to KT-1381 I had to move… Mar 3, 2012
examples Remove functions which could conflict with the kotlin.assert function. Mar 8, 2012
grammar Libraries written in Kotlin are factored out into a separate project Mar 6, 2012
idea Initial implementation of a static injection framework Mar 13, 2012
idea_runner Fake dependency to make sure plugin is actually updated during make Feb 21, 2012
injector-generator Small refactoring + useless things commented out Mar 13, 2012
j2k refactored std.* package to be kotlin.*. Due to KT-1381 I had to move… Mar 3, 2012
jdk-headers KotlinCompiler -stubs option Feb 28, 2012
js KT-1359 Cannot declare object inheriting from a trait or class. Mar 13, 2012
lib Initial implementation of a static injection framework Mar 13, 2012
libraries use service loading to detect the kunit asserter if its on the classpath Mar 13, 2012
license Add license files for jshashtable, prototype. Mar 6, 2012
pluginPublisher TeamCityPluginPublisher.xml: fixes Mar 9, 2012
runtime Libraries written in Kotlin are factored out into a separate project Mar 6, 2012
.gitignore ignore temp files Mar 12, 2012
Kotlin.iml Rename the project to Kotlin Mar 6, 2012
ReadMe.md a bit more detail on the ReadMe Mar 13, 2012
TeamCityBuild.xml missing explaination Mar 12, 2012
build.xml fix plugin build Mar 9, 2012
description description Nov 8, 2011
tupleGen.py _1 and such work for Tuples Jan 10, 2012
update_dependencies.xml fix getting plugin-verifier in update_dependencies.xml Mar 11, 2012
updatedoc.sh better updatedoc.sh Mar 2, 2012

ReadMe.md

Kotlin Programming Language

Welcome to Kotlin! Some handy links:

Editing Kotlin

Building

To build this project, first time you try to build you need to run this:

ant -f update_dependencies.xml

which will setup the dependencies on

  • intellij-core: is a part of command line compiler and contains only necessary APIs.
  • idea-full: is a full blown IntelliJ IDEA Community Edition to be used in former plugin module.

Then, you need to run

ant -f build.xml

which will build the binaries of the comppiler and put them into the 'dist' directory.

Working with the project in IDEA

The root kotlin project already has an IDEA project, you can just open it in IDEA.

Note though that you need a recent IDEA build (e.g. 11 EAP) which should not contain the Kotlin plugin!

From this root project there are Run/Debug Configurations for running IDEA or the Compiler Tests for example; so if you want to try out the latest greatest IDEA plugin

  • VCS -> Git -> Pull
  • Run IDEA
  • a child IDEA with the Kotlin plugin will then startup
  • you can now open the kotlin libraries project to then work with the various kotlin libraries etc.

Using a pre-built Kotlin IDEA plugin

In a recent IDEA 11 EAP build install the Kotlin plugin:

Preferences -> Plugins -> Browse Repositories -> Manage Repositories... -> + to add a new repository URL

You can now open any Kotlin based projects. Its advisable you don't open the root kotlin project as thats intended to be used to build the kotlin compiler and plugin itself; instead open the kotlin libraries project

If you want to work on the compiler

The Kotlin compiler is currently all written in Java (we plan to port it to Kotlin later). So the easiest way to work on the compiler or IDEA plugin is

You can now run the various Run/Debug Configurations such as

  • IDEA
  • All Compiler Tests
  • All IDEA Plugin Tests

If you want to work on the Kotiln libraries

When building the current maven plugin downloads the latest distro of Kotlin. If you want to use your own local build (done via ant dist) then try

cd libraries
mvn -PlocalKotlin

Kommitter links