Commit Graph

58 Commits

Author SHA1 Message Date
Dmitry Savvinov 6ccb8cd0a3 Properly check platform of klib by reading manifest 2020-03-23 15:38:11 +07:00
Sergey Bogolepov e919e7b79a [Gradle][Native][Cache] Don't skip metadata-based interop libraries
`resolveSingleFileKlib` by default doesn't support klibs with
non-default ir providers. In case of cache generation for native interop
libraries we need to override this behavior because they have
ir_provider=kotlin.native.cinterop.
2020-03-12 18:11:47 +07:00
Alexander Gorshenev b06a3ea5ac Print out abi version as a full triple 2020-03-10 12:06:59 +03:00
Alexander Gorshenev a635748848 Provide library producer compiler version in klib abi mismatch disagnostics 2020-03-10 12:06:59 +03:00
Alexander Gorshenev fac71ac812 Be prepared if in the future we extend klib abi version to a triple 2020-03-10 12:06:59 +03:00
Dmitry Savvinov b8b1dd753c Add builtins_platform property to klib manifest 2020-03-05 17:27:38 +03:00
Roman Artemev 46491c12ee [KLIB] Promote Klib ABI version 2020-02-14 18:22:16 +03:00
Roman Artemev a411549e38 [KLIB] Fix zipped layout 2020-02-14 18:22:16 +03:00
Roman Artemev 6a37955a36 [KLIB] Implement new linker based on IdSignature
- Remove klib dependency on metadata and uniqID
 - Refactored proto format to make it more effective and compact
  -- Use special encoding for some types of data (coordinates, flags, types)
  -- Remove symbols table
  -- Use packed proto list if it is possible
 - Remove extension from metadata
 - Remove special ids for function interfaces
 - Fix klib IO
 - Fix incremental cache
 - General code clean up
2020-02-14 18:22:16 +03:00
Dmitriy Dolovov 80eb148092 IDE: Fix ToolingSingleFileKlibResolveStrategy to recongnize klib archives
Issue #KT-36213
2020-02-01 17:07:18 +07:00
Dmitriy Dolovov ef199f8e45 Mark obsolete createKotlinLibrary() call as @Deprecated 2020-02-01 17:07:18 +07:00
Dmitriy Dolovov 1196044df7 Introduce 2 KLIB resolve strategies: "compiler" & "tooling"
Issue #KT-36213
2020-02-01 17:06:42 +07:00
Dmitriy Dolovov 1053428ee4 Minor: Formatted 2020-02-01 17:04:00 +07:00
Svyatoslav Kuzmich 091e8495cd [JS IR] Use util-klib tool to filter klib in JS IR gradle plugin 2020-01-29 15:22:07 +03:00
Georgy Bronnikov 47d6bdfd35 IR: add isProvidedByDefault() to SearchPathResolver 2020-01-28 12:19:43 +03:00
Alexander Gorshenev f58a6e054c Provide the same createKotlinLibrary even in multi-component situation 2020-01-27 20:21:32 +03:00
Alexander Gorshenev 19cbdb096f Fine tuned the single file klib resolver 2020-01-27 20:21:32 +03:00
Alexander Gorshenev fcce35c06f Move tools to resolveSingleFileKlib 2020-01-27 20:21:32 +03:00
Alexander Gorshenev 7390e74bbd Initial implementation of klib components 2020-01-27 20:21:32 +03:00
Alexander Gorshenev dfa509ec5b This reverts commits
afb2e9f38d.
    8c4fa6446d.
    f3bc533073.
    ccf084b1a5.
2020-01-27 15:30:16 +03:00
Alexander Gorshenev afb2e9f38d Fine tuned the single file klib resolver 2020-01-27 14:24:14 +03:00
Alexander Gorshenev f3bc533073 Move tools to resolveSingleFileKlib 2020-01-27 14:24:14 +03:00
Alexander Gorshenev ccf084b1a5 Initial implementation of klib components 2020-01-27 14:24:14 +03:00
Dmitry Savvinov 5665261e5b Minor: extract name of ir-folder in klib into const property 2020-01-25 15:59:12 +03:00
Dmitry Petrov c540116b71 IR: additional callable reference adapter stuff in IR
- IrFunctionReference.reflectionTarget: IrFunctionSymbol?
- add separate declaration origin for callable reference adapters
- bump IR ABI version
2020-01-24 11:21:26 +03:00
Dmitry Petrov 64a405e7a0 IR: 'fun interface' support 2020-01-22 00:12:03 +03:00
Sergey Igushkin 28e0089259 Allow not providing IR to serialize a klib with just the frontend metadata 2019-12-25 12:09:07 +03:00
Igor Chevdar 8d02d00f22 [IR Serialization] Removed native-specific hack in mangler 2019-12-20 16:13:11 +03:00
Roman Artemev cad3cb1bbe [KLIB] Fix references to type made from TypeParameter in KotlinMangler
- promote ABI version
2019-12-17 17:56:07 +03:00
Dmitriy Dolovov ce376f49fd [Commonizer] CLI for Kotlin/Native KLIBs 2019-12-12 14:51:55 +03:00
Alexander Gorshenev b0f077ff4b Plumbing KlibMetadataVersion and KlibIrVersion values to klib manifest 2019-11-30 18:37:38 +03:00
Dmitry Petrov a2188610b1 Promote KotlinABI version 2019-11-29 13:53:05 +03:00
Svyatoslav Kuzmich c8e5b2f2f8 [KLIB] Add error message when failed to resolve library 2019-11-18 15:31:12 +03:00
Roman Artemev 86570a2f91 [KLIB] Promote ABI version 2019-11-12 21:00:32 +03:00
Sergey Bogolepov 608885d118 [Linker] Extend KotlinIrLinker infrastructure to support libraries that
doesn't contain IR. Also bump ABI version because of addition of `ir_provider` property
2019-11-11 15:55:36 +07:00
Alexander Gorshenev f18a3f7fa9 Several more librry resolver tweaks.
Made library builder a member function.
Moved resolverByName() back to Native for now
2019-10-11 17:02:06 +03:00
Alexander Gorshenev 55805ddeb8 JS search path resolver with attributes.
Warn on inclusion of klibs with the same name in manifest
2019-10-11 17:02:06 +03:00
Roman Artemev e738534bef [KLIB] Promote Konan ABI Version 2019-10-09 13:23:19 +03:00
Roman Artemev d5176cbf5d [IR SERIALIZATION] Get rid of UniqId proto message
- encode locality flag in major bit of uniqid (1 - global, 0 - local)
2019-10-09 13:23:18 +03:00
Alexander Gorshenev e5dbec4523 Commonized FileRegistry with SourceFileMap for klib metadata 2019-10-08 16:56:29 +03:00
Alexander Gorshenev e53260e27c Bumped klib ABI version 2019-10-01 17:38:57 +03:00
Dmitriy Dolovov 781c73335d Use cache everywhere where K/N KLIBs are read in IDE 2019-10-01 17:38:57 +03:00
Alexander Gorshenev c227c13799 Commonizing klib metadata between native and js 2019-10-01 17:38:57 +03:00
Roman Artemev 104a50f786 [KLIB] Update ABI version 2019-09-03 14:21:32 +03:00
Roman Artemev 6bea403338 [KLIB] Fix ir serializer output format 2019-09-03 14:21:32 +03:00
Roman Artemev c8c9328973 [KLIB] Switch to monolithic layout 2019-09-03 14:21:32 +03:00
Roman Artemev f2a5ab8c16 [IR SERIALIZATION] Fix zipped layout 2019-09-03 14:21:31 +03:00
Roman Artemev aa313903cc [IR SERIALIZATION] Support both Per-File and Monolitic klib layout 2019-09-03 14:21:30 +03:00
Roman Artemev d9affc5abb [IR SERIALIZATION] Raname IrIrSeriazlizedIrFile -> SerializedIrFile 2019-09-03 14:21:30 +03:00
Roman Artemev 94a03c9cb4 [IC KLIB] Serialization infrastructure refactoring
- remove IrModule header
 - put IrDeclaration and its body into separate files
 - use only one type of IrData index
 - separate deserialization of declarations and its bodies
 - introduce FqName message
2019-09-03 14:21:29 +03:00