Commit Graph

6059 Commits

Author SHA1 Message Date
Ivan Gavrilovic 251d8ccd97 KT-31840: Fix caching for incremental annotation processing
Artifact transform that uses ASM to analyze KAPT classpath stored absolute
paths in the output artifact. This resulted in remote build cache misses.

This commit changes how analysis is stored. Actual analysis file is the
output of the transform, and there is not need to use a marker file any more.
Output does not store the classpath entry absolute path. Instead, it uses
task action incremental information to find analysis outputs that changed.

Additionally, class that handles analysis snapshot comparison has been
simplified, and lazy loading of the structural information is handled in
a more straightforward way.
2019-07-15 16:53:03 +09:00
Sergey Rostov aee1dd2379 Gradle, test runner: fix failed test (typo) 2019-07-12 21:44:05 +03:00
Sergey Rostov abb1a9892b Gradle, webpack: use only archivesBaseName as outputFileName 2019-07-12 21:40:26 +03:00
Ilya Gorbunov 4fc942c5e9 KT-16602: Improve mutable sorting samples, fix sample references 2019-07-12 21:34:54 +03:00
Dat Trieu 38d26b1d92 KT-16602: Provide samples for sorting API usage 2019-07-12 21:32:03 +03:00
keijumt 3f5d64e635 Add sample of hashMapOf 2019-07-12 17:10:15 +03:00
Pavel Semyonov 2577dfa06a docs: added KDoc for Comparator, fixed KDoc for comparison binarySearch() 2019-07-12 16:08:37 +03:00
Ilya Chernikov bd50454a73 Change default for script displayName parameter to empty, generate name from base class in definition 2019-07-12 13:44:09 +03:00
Ilya Chernikov 0cc40440fb Implement filePathPattern in the script configuration with handling
also
- tests
- extending kdoc for the definitions
2019-07-12 13:44:09 +03:00
Sergey Rostov dface77b5c NodeJS Test runner: update build time dependencies 2019-07-12 12:47:21 +03:00
Sergey Rostov 38ff228bc8 Gradle, Tests runner: handle case when test runtime exits abnormally
In this case we should close all test nodes with failures and gracefully
close all other enclosing nodes.

#KT-32136 Fixed
2019-07-12 12:31:09 +03:00
Abduqodiri Qurbonzoda 96dcafdf35 Document order of array elements initialization (KT-32353) 2019-07-11 21:18:47 +03:00
Sergey Igushkin dfcd28da2c Use the direct test descriptor parent for test start events in Gradle
The reportingParent previously used for that purpose was null in test
start events, resulting in ungrouped tests.
2019-07-11 20:47:59 +03:00
Vyacheslav Gerasimov 9b32670738 Build: Use stripMetadata task for result jar when relocation is enabled
to cleanup invalid metadata left after relocation
2019-07-11 20:07:14 +03:00
Ilya Chernikov c08b88281c Remove accidetial usages of the internal jdk classes 2019-07-11 15:50:27 +02:00
Ilya Chernikov ab938efa68 Attempt to fix Windows detection in main-kts tests 2019-07-11 15:50:27 +02:00
Ilya Chernikov 382e55284c Fix legacy definitions error propagation
also fixes script-util test with resolving errors
2019-07-11 15:50:26 +02:00
Ilya Chernikov c9a4328feb Fix compiled scripts saving tests:
The tests were broken some time ago by applying script isolation, so
it was necessary to add base libraries into the classpath.
Also refactored some classpath building utilities.
2019-07-11 15:50:26 +02:00
Ilya Chernikov 9c004c3a52 Refactor scripting compiler plugin - move cli dependent parts out of the -impl jar
The kotlin-scripting-compiler-impl jar is used in the idea plugin and
therefore should not depend on the cli parts of the compiler to avoid
dependency from the plugin to the kotlin-compiler.jar.
Therefore the cli-dependent parts were moved to the scripting plugin
jar, which is used only in cli compiler based environments.
Also implement required abstractions to allow this movement and
drop some redundant dependencies to the cli parts in other projects.
2019-07-11 15:50:26 +02:00
Ilya Chernikov 9ae0ff03fa Improve script and REPL result handling:
- implement error result
- refactor other result classes
- implement handling in the script evaluation extension - also restores
  previous script error reporting functionality
- add possibility to customize result fileds in script and REPL
- refactor result calculation in the backend: cleanup, rename (since
  it is not only about REPL now)
2019-07-11 15:50:26 +02:00
Ilya Chernikov dc4370ff08 Implement support for new script customizations in command line compiler
refactor and fix internals in many places to make it work
add appropriate tests for main-kts case
2019-07-11 15:50:25 +02:00
Sergey Igushkin 701b9ce166 (minor) Minor corrections in K/A/30GradleIT#testOmittedStdlibVersion 2019-07-11 02:04:58 +03:00
technoir 15feeddc46 Allow omitting version of standard artifacts when kotlin-android plugin is used 2019-07-11 01:44:52 +03:00
Sergey Igushkin 0aa80d1912 Fix org.jetbrains.kotlin.native.disabledTargets registered as extension
Do not register an extension, use an extra property instead. This way,
it is less visible for a build author.

Hotfix for commit c292380aff
Issue #KT-29693
2019-07-10 21:12:23 +03:00
Sergey Igushkin 26a8c16166 Fix Gradle task input annotations for Gradle 5.5 checks
* Interface and abstract properties are now checked, too.
  For them, copy the @Input/@Internal annotations from the
  implementations (luckily, they were all consistent).

* Annotating a private property without a public accessor is not not
  allowed. Remove one such annotation.
2019-07-10 21:06:57 +03:00
Sergey Igushkin 4516902aaf Fix metadata transformation for non-published dependencies, KT-32225
Fix dependencies that are added in non-published source sets, which were
omitted from the requested dependencies since their configurations were
not added to the extendsFrom set of the merged configurations.

Also, don't resolve both merged configurations (compile and runtime) in
GranularMetadataTransformation, as the IDE can anyway import only the
compile-scoped dependencies from api & implementation.

Issue #KT-32225 Fixed
2019-07-10 19:37:03 +03:00
Sergey Igushkin dbc8007c63 Fix visibility for MPP dependencies from non-root source sets, KT-32204
Fix incorrect source sets visibility when a dependency is added to a
non-root source set and its visible source sets are mistakenly treated
as already visible by the dependsOn parents and are thus not extracted
from the metadata package.

To simplify the logic, reuse the GranularMetadataTransformation
instances from the dependsOn parent source sets: they can provide the
requested dependencies sets for the parents and their transformation
results, so that excluding the dependency source sets which are seen
the parents gets simpler.

The issue is then fixed by naturally excluding only the source sets
which are mentioned in the parents' transformation results.

Issue #KT-32204 Fixed
2019-07-10 19:36:57 +03:00
Sergey Rostov 4a8dbeda1b Gradle, webpack: add conventional archive properties
#KT-31890 Fixed
#KT-32209 Fixed
2019-07-10 13:26:56 +03:00
Sergey Rostov b6ca323a5e Gradle, karma, webpack: add required dependencies 2019-07-10 13:26:55 +03:00
Sergey Rostov 8b622955fe Gradle, js, minor: fix typos, formatting and imports 2019-07-10 13:26:55 +03:00
Sergey Rostov b68582656e Gradle, DtsResolver: use canonical path to avoid files duplication 2019-07-10 13:26:55 +03:00
Sergey Rostov 80068c0a40 Gradle, js: fix task annotations 2019-07-10 13:26:55 +03:00
Sergey Rostov 3c606c27a1 Gradle, js: support generating kotlin external declarations from .d.ts
#KT-31703 Fixed
2019-07-10 13:26:55 +03:00
Sergey Rostov 2fb4d23f1e Gradle, js, KotlinProjectNpmResolution: index by compilation 2019-07-10 13:26:54 +03:00
Sergey Rostov 7332290ece Gradle, js, NpmDependency: getDependenciesRecursively 2019-07-10 13:26:54 +03:00
Sergey Rostov 50e07330f4 Gradle, js, resolver, requireInstalled: close resolving if kotlinNpmResolve is up-to-date 2019-07-10 13:26:54 +03:00
Sergey Rostov 1860097c08 Gradle, js, npm resolver: support custom package json entries, index files and extensions 2019-07-10 13:26:54 +03:00
Sergey Rostov 88fa396d26 Gradle, js, resolver: don't skip reading lock file while skipping package manager execution 2019-07-10 13:26:54 +03:00
Sergey Rostov d1789b07ad Gradle, js, yarn: store resolved version and integrity hash to NpmDependency 2019-07-10 13:26:54 +03:00
Sergey Rostov d051748e2b Gradle, js, npm: support scopes 2019-07-10 13:26:54 +03:00
Sergey Rostov 5e6c76a6e7 Gradle, execWithProgress: report description as first progress 2019-07-10 13:26:53 +03:00
Sergey Rostov 638554ba1c Gradle, JS, resolver: don't add files that are not existed, add kjsm files 2019-07-10 13:26:53 +03:00
Sergey Rostov bcf894aba3 Gradle, JS, resolver: return null if npm dependency being resolved before kotlinNpmInstall 2019-07-10 13:26:53 +03:00
Sergey Rostov 8b0dffe182 Gradle, JS, compilation resolver: close dependent compilation resolver when it's packageJson task is up-to-date 2019-07-10 13:26:53 +03:00
Sergey Rostov 3658ad785f Gradle, JS, NpmResolutionManager: cleanup and document states 2019-07-10 13:26:53 +03:00
Sergey Rostov 327d75dc5d Gradle, JS: Extract NpmResolutionManager 2019-07-10 13:26:53 +03:00
Sergey Rostov 982f08ce7a Gradle, JS: replace NodeJs plugin and extension with NpmResolver plugin 2019-07-10 13:26:52 +03:00
Sergey Rostov 2f90742809 Gradle, JS: rework nodejs extensions and plugins
Get rid of Project.nodeJs
2019-07-10 13:26:52 +03:00
Sergey Rostov 24f08a614e Gradle, GradleNodeModulesCache: use new ProcessedFilesCache API 2019-07-10 13:26:52 +03:00
Sergey Rostov fd2d99e205 Gradle, ProcessedFilesCache: use file as target type (not string)
recompute removed target directories
2019-07-10 13:26:52 +03:00