Commit Graph

327 Commits

Author SHA1 Message Date
Yan Zhulanow c945a53eec Move AndroidPsiTreeChangePreprocessor to android-idea-plugin module 2015-03-18 17:51:58 +03:00
Michael Nedzelsky e3bd99d510 JS: fix clash between sources and metadata in one library 2015-03-18 09:39:34 +03:00
Michael Nedzelsky 1a4a7f6715 build.xml: remove module name from js-stdlib manifest file 2015-03-18 09:39:00 +03:00
Michael Nedzelsky a1ee616769 build.xml: create and archive meta information for js-stdlib 2015-03-18 09:38:58 +03:00
Michael Nedzelsky 711501af56 add new module js.serializer 2015-03-18 09:38:51 +03:00
Michael Nedzelsky e0c0012a20 add serialization.js module 2015-03-18 09:38:47 +03:00
Alexander Udalov 444b461ba7 Run preloader in new-kotlinc, fix reflect->runtime class-path reference 2015-03-17 15:46:47 +03:00
Alexander Udalov 9d6f4e99a1 Move reflection interfaces to module 'builtins'
They are considered to be built-ins everywhere anyway
2015-03-16 20:29:39 +03:00
Yan Zhulanow 6b368e445a Cache XML layout widgets using PsiTreeChangePreprocessor 2015-03-13 15:46:39 +03:00
Denis Zharkov f632a90741 Fix compiler settings for android-compiler-plugin
It's necessary to use bootstrap-compiler and runtime but new compiler in classpath when increasing ABI.

For example ABI was X, then we increase it to X':

- It compiles in Bootstrap (B) build with compiler that knows
  old ABI version, so compiled compiler (C1) will still have version X, but new
  runtime's version is X' (R1).

  So when we compile android-compiler-plugin each part has version X.

- Then project compiles by new compiler (C1)
  (that class-files have ABI version X, but it knows about X') in main build.
  Here compiled compiler (C2) will have X' version of class-files,
  either has runtime (R1) compiled on previous stage.

  On this step android-compiler-plugin will be compiled fine by C1 and with C2, R1.
2015-03-11 17:45:29 +03:00
Alexander Udalov 2b090e02a1 Build kotlin-reflect.jar in build.xml and for Maven
Reflection will be distributed in a separate jar and not in kotlin-runtime.jar
for two primary reasons:
- Reflection implementation at the moment takes almost 2Mb
- Separate libraries for separate features is a technique encouraged by Maven,
  and it's inconvenient to make it different in the compiler distribution
2015-03-11 16:42:28 +03:00
Alexander Udalov 6fe483f0cf build.xml: use absolute paths, extract some constants 2015-03-07 02:32:59 +03:00
Alexander Udalov 0bd5264b5e Get rid of module reflection.stub.jvm
Generate K*Function as a supertype for a function reference instead of
K*FunctionImpl; this will allow one binary library to be used with or without
reflection
2015-03-07 02:31:26 +03:00
Alexey Tsvetkov 4efadb33fa JS: switched ClosureCompiler to whitespace level 2015-03-06 21:36:18 +03:00
Michael Bogdanov db987eedee Fix android compiler plugin classpath 2015-03-03 17:05:17 +03:00
Yan Zhulanow 756d0a06d9 Remove obsolete "frontend.android" paths 2015-02-26 15:26:01 +03:00
Yan Zhulanow 328116cb1a Fix android-compiler-plugin build 2015-02-26 15:25:59 +03:00
Yan Zhulanow b897803f5b Fix ProGuard rules for plugin-api 2015-02-26 15:25:58 +03:00
Yan Zhulanow fbed5426e2 Kotlin Gradle subplugin support 2015-02-26 15:25:55 +03:00
Yan Zhulanow 755c16d6d2 Do not shrink org.jetbrains.kotlin package classes 2015-02-26 15:25:55 +03:00
Yan Zhulanow a2032e60a7 Provide values using ServiceLoader instead of MANIFEST.MF 2015-02-26 15:25:44 +03:00
Yan Zhulanow 9b9d96df30 android-compiler-plugin Ant build task introduced 2015-02-26 15:25:42 +03:00
Mikhail Mutcianko 6371197041 add missing module and build dependencies 2015-02-26 15:25:20 +03:00
Mikhail Mutcianko f5b9b155cd fix ant build
- add frontend.android content to sources path
2015-02-26 15:25:18 +03:00
Alexander Udalov 98b554d995 Fix path to runtime when building kotlin-ant.jar
${kotlin-home}/lib/kotlin-runtime.jar is the newly built runtime, which is not
compiled yet when invoking a clean "ant dist"
2015-02-16 20:19:54 +03:00
Alexander Udalov c3909ebbd7 Minor, update outdated comment 2015-02-16 20:19:46 +03:00
Zalim Bashorov a851c406b4 Minor: specify maxmemory for new-kotlinc explicitly to avoid run VM with default values which sometimes leads to fail build. 2015-02-13 19:07:51 +03:00
Alexander Udalov 8d5a6d729e build.xml: use preloader to serialize built-ins to improve performance 2015-02-02 16:46:53 +03:00
Alexander Udalov 5b70995ce1 build.xml: simplify new-kotlinc macro
- passing sources to "-classpath" is no longer needed because the logic was
  implemented in K2JVMCompiler
- skipping javac2 for stdlib is no longer needed because the corresponding
  error is no longer reproducible since "skip" was added to javac2
- get rid of unneeded properties in favor of Ant's toString feature
2015-02-02 16:46:49 +03:00
Alexander Udalov 5194310d6e Use javac2 filter to disable NotNull instrumentation of Kotlin code
We skip all classes annotated with kotlin/jvm/internal/<anything> (currently
KotlinClass, KotlinPackage and KotlinSyntheticClass) because Kotlin compiler
emits its own nullability assertions
2015-01-21 16:17:50 +03:00
Alexander Udalov 6873e34a09 Drop org.jetbrains.jet exception in proguard 2015-01-13 01:15:16 +03:00
Alexander Udalov 7d496377c4 Remove bootstrap workarounds 2015-01-12 15:40:15 +03:00
Alexander Udalov 00878cc31a Rename java -> jvm, jet -> kotlin in module serialization.java
org.jetbrains.jet.descriptors.serialization ->
org.jetbrains.kotlin.serialization.jvm
2015-01-09 14:27:13 +03:00
Alexander Udalov 8ca803775f Rename package jet -> kotlin in cli, cli-common
org.jetbrains.jet.cli -> org.jetbrains.kotlin.cli

Also fix some minor warnings
2015-01-08 23:32:07 +03:00
Alexander Udalov 03e3969544 Rename package k2js -> kotlin.js in js.frontend
org.jetbrains.k2js -> org.jetbrains.kotlin.js
2015-01-05 05:10:33 +03:00
Alexander Udalov 1bf3ca2e26 Rename package jet -> kotlin in preloader and instrumentation
org.jetbrains.jet.preloading -> org.jetbrains.kotlin.preloading
2015-01-05 04:19:04 +03:00
Alexander Udalov e73ffe76a0 Keep org.jetbrains.kotlin.** when shrinking compiler 2015-01-05 04:19:03 +03:00
Alexander Udalov b1809f8d40 Rename module jet.as.java.psi -> light-classes 2015-01-03 12:38:41 +03:00
Alexander Udalov be95a4fee7 Remove temporary bootstrap hack 2015-01-03 12:32:25 +03:00
Alexander Udalov cd79c4573d Ant task: use preloader instead of AntClassLoader
Speeds up AntTaskJvmTest by 50%
2015-01-03 12:08:12 +03:00
Alexander Udalov a30a3f1926 Rework bootstrapping compiler with runtime in build.xml
Do not pack the runtime into the compiler on the first step of bootstrap, but
rather leave it as a separate file named kotlin-runtime-internal-bootstrap.jar.

This new solution will allow compiler to use its own classes from "core", not
the ones used by the runtime it depends on
2014-12-29 18:17:21 +03:00
Alexander Udalov ffbae46e3c Compile kotlin-runtime-minimal.jar, run proguard against it
ProGuard complains if we're trying to shrink compiler with the full runtime in
dependencies because for the compiler produced on the first step of bootstrap
these two jars contain conflicting classes. This won't matter in the final
distribution because we will strip 'core' modules from compiler.jar. But this
matters in the first step because core will be different in the compiler (used
to load compiled class files) and in the reflection (used to introspect symbols
at runtime).

kotlin-runtime-minimal.jar still contains the complete reflection API and some
stub implementations in module 'reflection.stub.jvm', but doesn't have core, so
it won't cause a proguard error
2014-12-29 18:17:10 +03:00
Alexander Udalov 14dab749a2 Use reflection in Ant task to invoke compiler
This will allow a more controlled management of the runtime that the compiler
is linked against. Incidentally this also allows Ant task to use any of
compiler arguments via <compilerarg> because Ant task is now just a facade for
the CLI compiler.

The test "wrongArguments" is deleted because the full compiler usage is now
printed out on a wrong <compilerarg>, and this will become inconvenient to
update with each change in compiler arguments

 #KT-5618 Fixed
2014-12-29 18:00:18 +03:00
Alexander Udalov f0bb6c58fc Add 'build-bootstrap-artifacts' target to build.xml
Will be used in bootstrap build; no reason to build kotlin-for-upsource and
zip-test-data there
2014-12-26 22:55:32 +03:00
Alexander Udalov fa9e1ca602 Fix runtime for kotlin-for-upsource and simplify classpath 2014-12-26 22:52:52 +03:00
Pavel V. Talanov 007053489c Fail on duplicate file when packing runtime sources for jvm
Fail on duplicate when packing kotlin-jslib.jar and kotlin-jslib-sources.jar
Move files from root of stdlib to avoid existing conflicts
Rename System to SystemJvm to avoid including to js lib
2014-12-24 14:55:21 +03:00
Alexander Udalov 444ac32f98 Minor, rename JS Ant tasks
To be able to use the build file from the terminal conveniently, make names
shorter and avoid autocompletion conflict with "compiler"
2014-12-19 14:37:47 +03:00
Alexander Udalov b27d3e91d3 Avoid redefining kotlin2js task in "ant jslib"
This helps to specify custom runtime for the newly built kotlin2js (which is
supposed to be different for the two bootstrapping steps). Also now it's not
required to launch ant-tools task before jslib to build JS library
2014-12-19 14:37:47 +03:00
Zalim Bashorov 465c4a397e Rename manifest.properties to kotlinManifest.properties to avoid clashing with other resources. 2014-12-18 14:34:37 +03:00
Alexey Tsvetkov b1c005dccf JS parser: GWT parser copied 2014-12-15 19:16:18 +03:00