Commit Graph

47 Commits

Author SHA1 Message Date
Dmitriy Dolovov ea3f4ad47f Attach K/N stdlib sources on MPP project import
Issue #KT-30635:fixed
2019-04-04 17:34:42 +07:00
Ilya Matveev cb38f13399 Gradle plugin: Enable missing mingw_x86 target for K/N 2019-04-02 20:59:12 +07:00
Dmitriy Dolovov dbc66bd0ae Native: Support 2- and 3-digit Kotlin/Native versions 2019-03-07 12:59:27 +07:00
Alexander Udalov 5d297c40fd Minor, move ReifiedTypeParameterSubstitutionChecker to PlatformConfiguratorBase 2019-03-05 17:58:10 +01:00
Vyacheslav Gerasimov a42f607ecf Build: Fix artifacts signing for maven central
With gradle > 5.0 `publish()` helper call should be done before
`noDefaultJar()` or any other artifact hacks, otherwise singing plugin doesn't sign any jars
2019-02-27 13:21:17 +03:00
Kirill Shmakov b695f20526 Candidate 2019-02-21 19:00:37 +03:00
Dmitriy Dolovov 83cb2cb99e CIDR: Patch LLDB pretty printers for K/N < 1.1.1
Issue #KT-29625 Fixed
2019-02-19 10:49:08 +07:00
Dmitriy Dolovov 75250cf1a0 User friendly presentation of KLIBs in IDEA
Adds friendly names for KLIBs imported as file dependencies from Gradle project.

Issue #KT-29613 Fixed
Issue #KT-29783 Fixed
2019-02-14 16:55:45 +07:00
kirill.shmakov 6c8b3d03fd Add syntax highlighting for *.def files 2019-02-01 16:34:00 +03:00
Mikhael Bogdanov a122cba862 Switch Kotlin project to jvm-target 1.8
#KT-29405
2019-01-31 07:43:05 +01:00
Vyacheslav Gerasimov f58acbeef5 Build: implement useBootstrapStdlib flag
Excludes stdlib projects from build and uses bootstrap stdlib artifacts

 #KT-29205
2019-01-21 21:09:40 +03:00
Dmitry Savvinov a4d1a8f60a Get rid of FUNCTOR slice, use lazy value in ContractDecription instead
Functor is an imperative representation of function's contract (contrary
to ContractDescription, which is a declarative one). ContractDescription
is convenient when we deal with sources of contracts declarations
(binaries, source), while Functors are convenient for analyzing code
with contracts.

It means that we have to convert ContractDescription into Functor when
we start working with contracts. This computation isn't trivial, and
Functor and ContractDescription are in 1-1 correspondence, so we would
like to cache Functor for each ContractDescription somewhere.

We used to do this in binding trace, in slice FUNCTOR.

Now, it turns out that this approach causes "Rewrite at slice"
exception, see KT-28847. We won't go into details of why that happens
here, you can see the issue comments for details (but be prepared for the
very long and nitty-gritty story)

This commit removes the problematic slice and introduces another
approach, where Functor is attached to the ContractDescription, computed
lazily and cached here.

^KT-28847 Fixed
2019-01-14 11:11:03 +03:00
Simon Ogorodnik e3aed04d96 Extract module info & target platform to separate frontend.common 2018-12-11 22:07:41 +03:00
Pavel Punegov 9cc93e9e55 Fix Contracts deserialization for native plugin 2018-11-26 18:19:03 +03:00
Alexander Udalov 49d6a7a7cb Refactor and improve code obtaining actual Java annotation parameter values
Extract Java-specific code into module 'frontend.java' and use already
existing JavaAnnotationArgument facilities to determine the default
parameter value in an actual Java annotation class.

Annotation arguments are not yet supported because to create an instance
of AnnotationValue, we need a descriptor, which is not available at this
point.

 #KT-22704 In Progress
 #KT-28077 Open
2018-11-13 19:05:14 +01:00
Alexander Udalov 38aad20231 Update konan.proto to be consistent with kotlin-native repo
See https://github.com/JetBrains/kotlin-native/pull/2278
2018-10-31 17:20:13 +01:00
Alexander Udalov 1ee1d15b91 Support annotations on property accessors in JS/common metadata
#KT-14529 Fixed
2018-10-24 18:17:12 +02:00
Sergey Igushkin 81ae54c05b Show warnings for disabled targets on current host
Issue #KT-26647 Fixed
2018-09-26 13:02:32 +03:00
Dmitriy Dolovov 5e33860652 [K/N] Stand-alone Native Application wizard in IDEA
Issue #KT-27076 Fixed
2018-09-25 17:24:59 +07:00
Simon Ogorodnik 35a0b42796 Support forward declarations for Native via hack-ing into built-ins 2018-09-18 17:43:15 +03:00
Simon Ogorodnik 0cc3625dc1 Do not throw exception on not-found serialized class from knm 2018-09-18 17:33:08 +03:00
Simon Ogorodnik ca742b1552 Support free-form .knm package part names 2018-09-18 17:33:07 +03:00
Simon Ogorodnik 7166c011bf Support for split-packages in Kotlin Native
See JetBrains/kotlin-native#2034
2018-09-18 17:33:06 +03:00
Dmitriy Dolovov 0059fcceb9 [K/N] Safe determining Kotlin/Native meta version 2018-09-14 17:08:08 +03:00
Ilya Matveev ccd4bc1bff Add a project property for Kotlin/Native version overriding 2018-09-14 14:58:03 +03:00
Mikhail Glukhikh 03820245eb Change KonanPlatform platform name: Konan -> Native #KT-26691 Fixed 2018-09-13 09:09:47 +03:00
Dmitriy Dolovov 9ca0643b1a K/N: Added comments regarding synthetic forward declarations module 2018-09-11 12:48:31 +03:00
Dmitriy Dolovov fbd220fc05 K/N: Actualize KonanBuiltIns 2018-09-11 12:48:31 +03:00
Dmitriy Dolovov 324ec7aff8 Detect K/N library kind if library is a ZIP file (native-specific part)
Issue #KT-26730 Fixed
2018-09-11 12:48:31 +03:00
Dmitriy Dolovov 71be94b3e4 K/N: Cache library metadata in IDEA plugin 2018-09-10 17:54:06 +03:00
Simon Ogorodnik 1df91ff7ec Refactor NativeAnalyzerFacade to reuse existing library dependency model
Fix memory blowing up in quadratic native stdlib dependencies
Reuse ModuleInfo & LibraryInfo for Native properly
2018-09-10 17:54:06 +03:00
Dmitriy Dolovov 22e6948d7d K/N: add fake compiler arguments (only to be used in IDEA plugin) 2018-09-08 12:16:25 +03:00
Dmitriy Dolovov cb7009ace8 K/N: Rename "kotlin-native-serializer" to "kotlin-native-library-reader" 2018-09-08 12:16:24 +03:00
Dmitriy Dolovov 6701dbb220 K/N: Clean-up unused K/N stuff 2018-09-08 12:16:24 +03:00
Dmitriy Dolovov dd203830a8 K/N: Refactor KotlinNativePluginSearchPathResolver
Get rid of dependency on KonanPaths project component
2018-09-08 12:16:23 +03:00
Dmitriy Dolovov 9b92d38917 K/N: Move classes and functions we don't want to expose
These classes we don't want to expose to Gradle DSL users
from "kotlin-native-utils" to "kotlin-native-serializer" module.
Reason: "kotlin-gradle-plugin-api" depends on "kotlin-native-utils",
while "kotlin-native-serializer" is used only inside of IDEA plugin.
2018-09-08 12:16:22 +03:00
Alexander Gorshenev e8f238d53c Make sure zip filesystems are closed on exit 2018-09-08 12:16:21 +03:00
Dmitriy Dolovov 337100edc3 Rename "konan" modules to "kotlin-native" modules 2018-09-08 12:16:20 +03:00
Dmitriy Dolovov 7623169130 MPP: implement IdePlatformKind, its resolution and tooling for K/N 2018-09-08 12:16:18 +03:00
Svyatoslav Scherbina b86afb0bab Enable implicit integer coercion for Kotlin/Native interop libraries 2018-09-08 12:16:18 +03:00
Dmitriy Dolovov 3c5c21256f [K/N lib] fix in POM dependencies for konan-serializer module 2018-09-08 12:16:17 +03:00
Ilya Matveev d49ff1aa2c [K/N lib] Add timeout for native dependency extraction 2018-09-08 12:16:17 +03:00
Dmitriy Dolovov db29d12c60 [K/N lib] merge metadata & serializer, publish the result to Maven 2018-09-08 12:16:17 +03:00
Dmitriy Dolovov eda29a48a4 [K/N lib] IDEA plugin for K/N + missed items in konan-serializer module 2018-09-08 12:16:16 +03:00
Dmitriy Dolovov 51bb408c56 [K/N lib] add Kotlin/Native deserializer and library reader 2018-09-08 12:16:16 +03:00
Dmitriy Dolovov fade311b92 [K/N lib] add Kotlin/Native metadata 2018-09-08 12:16:15 +03:00
ilmat192 2251440f04 Basic native support in kotlin-multiplatform (#1811)
* Add dependency on KN shared in gradle-plugin

* Basic support for Kotlin/Native:
     * Target presets
     * Compilation into a klib
     * Compilation into native binraies: framework and executable
     * Basic dependencies between projects
     * No jars in native publications
     * Replace '-' with '_' in framework names
    * Escape quotes in native command lines on Windows
* Move targets from Kotlin/Native repo
* Download KN compiler using Gradle's mechanisms
* Support source set dependencies in native
2018-08-19 20:45:31 +07:00