Commit Graph

60962 Commits

Author SHA1 Message Date
Ilya Kirillov 09b50a209b Wizard: do not suggest invalid groupId 2020-01-24 11:12:25 +03:00
Ilya Kirillov 1b4e282540 Wizard: do not show expert panel form wizard 2020-01-24 11:12:10 +03:00
Ilya Kirillov 7527e4b02d Wizard: remove duplicated string validator 2020-01-24 11:12:09 +03:00
Ilya Kirillov b33ae61508 Wizard: add validators for POM data 2020-01-24 11:12:08 +03:00
Ilya Kirillov 7df1b54c82 Wizard: Show message when module has no configurable settings 2020-01-24 11:12:06 +03:00
Ilya Kirillov 923f646b3d Wizard: Move test framework settings to module configurators 2020-01-24 11:12:04 +03:00
Ilya Kirillov ba62ba39f1 Wizard: Move module templates to modules: separate SourcetModuleIR to MultiplatformModuleIR & SourcesetIR 2020-01-24 11:12:03 +03:00
Ilya Kirillov 0ebcf482ca Wizard: move module templates to modules 2020-01-24 11:12:02 +03:00
Ilya Kirillov 5673804707 Wizard: add module dependencies for JPS 2020-01-24 11:12:01 +03:00
Ilya Kirillov 479f6a4402 Wizard: add kotlin native console application template 2020-01-24 11:11:59 +03:00
Ilya Kirillov 9e96cd4507 Wizard: do not print binaries specification for all native targets
#KT-35719 fixed
2020-01-24 11:11:58 +03:00
Ilya Kirillov bf93d767b3 Wizard: sort & distinct imports in Gradle build files 2020-01-24 11:11:57 +03:00
Ilya Kirillov dd882c2717 Wizard: move fqName to import in NativeTargetConfigurator 2020-01-24 11:11:56 +03:00
Ilya Kirillov 97416e651e Wizard: add irs for build files from targets 2020-01-24 11:11:55 +03:00
Ilya Kirillov 2a83111fa3 Wizard: do not add empty gradle project to settings.gradle 2020-01-24 11:11:54 +03:00
Ilya Kirillov afc320ac8d Wizard: use settings.gradle instead of .kts for Groovy DSL Gradle projects
#KT-35694 fixed
2020-01-24 11:11:53 +03:00
Ilya Kirillov 4f4106a17e Wizard: print repositories for Maven
#KT-35715 fixed
2020-01-24 11:11:52 +03:00
Ilya Kirillov bced2655e8 Wizard: retrieve repositories from artifacts 2020-01-24 11:11:51 +03:00
Ilya Kirillov baedd2a253 Wizard: correctly add Kotlin dependencies to singleplatform modules with gradle dsl build system
#KT-35695 fixed
2020-01-24 11:11:47 +03:00
Ilya Kirillov 796848b5a9 Wizard: fix adding invalid dependencies for maven build files
#KT-35711 fixed
2020-01-24 11:11:45 +03:00
Ilya Kirillov 029dad4d9e Wizard: allow dashes for module names
#KT-35584 fixed
2020-01-24 11:11:40 +03:00
Ilya Kirillov 6acf279a34 Wizard: Use default Java source roots for JPS projects
#KT-35710 fixed
2020-01-24 11:11:37 +03:00
Ilya Kirillov 206284d33c Wizard: rework UI components for settings
#KT-35712 fixed
2020-01-24 11:11:36 +03:00
Ilya Kirillov 89199e5cc0 Wizard: fix incorrect ktor repository
#KT-35718 fixed
2020-01-24 11:11:34 +03:00
Ilya Kirillov 2df499b12d Wizard: remove redundant return in native target configuration
#KT-35720 fixed
2020-01-24 11:11:33 +03:00
Ilya Kirillov bfe3b58264 Wizard: fix swapped artifactId and groupId fields titles
#KT-35690 fixed
2020-01-24 11:11:32 +03:00
Ilya Kirillov 49e8513928 Wizard: do not overwrite existing artifactId & groupId settings
#KT-35713 fixed
2020-01-24 11:11:31 +03:00
Dmitry Savvinov 37c7212a30 Normalize line separators in GradleImportingTestCase 2020-01-24 11:00:17 +03:00
Dmitry Savvinov 56286cd4dc Fix overly restrictive cast to allow running multiplatform tests for objects
^KT-35480 Fixed
2020-01-24 11:00:17 +03:00
Dmitry Savvinov 77a7ceaa55 Add test on object with tests in common module
^KT-35480 In Progress

(current behavior is undesired, see fix in next commit)
2020-01-24 11:00:17 +03:00
Dmitry Savvinov f78ea75431 Fix running tests from expect class by using FakeLightClasses
Unfortunately, IJ API requires us to return instances of
PsiClass/PsiMethod in order to proceed with run configuration creation.

In fact, those instances will be queried only by trivial requests, like
containingFile or name. Therefore, full-blown LightClasses are not
needed and even harmful, because for some declarations we can not build
proper light classes (like for expect declarations, for example)

Previously it mostly worked because most of declarations in common
indeed have corresponding Light-instances (because common source-set can
be seen from Java through JVM-part of a project).

^KT-34503 Fixed
2020-01-24 11:00:16 +03:00
Dmitry Savvinov cea612cba4 Add test on expect class with test methods inside
^KT-34503 In Progress

(current behaviour is undesired, see next commit for fix)
2020-01-24 11:00:16 +03:00
Dmitry Savvinov 36aa14ead4 Add testing support for MPP projects 2020-01-24 11:00:16 +03:00
Dmitry Savvinov b34f091fa4 Introduce tests runner for run configurations + highlighting + Gradle
This allows us to check two things:
- presence of line markers (haven't been checked by old
  GradleTestRunConfigurationTests, though could've been checked by
  LineMarkerTests)
- some properties of run configurations which will be created from those
  line markers

Old GradleTestRunConfigurationTest have been renamed to
GradleTestRunConfigurationCustomTest and slightly modified to be able
to re-use the same testdata if necessary.
2020-01-24 11:00:16 +03:00
Dmitry Savvinov 4f5c3d1387 Allow rendering extra tags for lineMarkers in tests 2020-01-24 11:00:16 +03:00
Dmitry Savvinov 5800160ee1 Rewrite GradleDaemonAnalyzerTest
Previously, GradleDaemonAnalyzer reused common IJ infrastructure for
highlighting tests (see DaemonAnalyzerTеstCase, ExpectedHighlightingData
and such).

Unfortunately, this infrastructure had several flaws,
mainly around checking expected highlighting against actual one:

- overlapping line markers lead to crash (fixed in 193+)

- no way to sanitize descriptions of line markers (important for cases
where description returns HTML-formatted text, which makes testdata
completely unreadable and also drives parser insane)

- thrown FileNotFoundException doesn't have a physical file with
expected testdata attached, which makes browsing diff a little less
convenient (no way to apply changes to expected file)

- no easy way to plug-in with additional after-highlighting checks

This commit fixes it by overriding doCheckResult and providing custom
checking of highlighting/line markers, based on TagsTestDataUtil.
Because we don't rely on IJ-checking anymore, we also remove weird hoops
with removing/adding testdata markup in checkFiles.
Also this commit adds strings sanitization in TagsTestDataUtil, removing HTML-tags
and line breaks, so that description of tag is always one-liner with
plain text.
2020-01-24 11:00:16 +03:00
Dmitry Savvinov a02e5d452f Minor: remove unnecessary callback from checkFiles
Filter list of files on call-sites instead
2020-01-24 11:00:16 +03:00
Dmitriy Novozhilov 3dfad4f0c3 [FIR] Fix generating properties for varargs in primary constructors 2020-01-24 10:57:52 +03:00
Dmitriy Novozhilov 69927409fc [FIR] Fix exhaustiveness check when subject has flexible type 2020-01-24 10:57:52 +03:00
Anton Yalyshev 0f049fd536 Properly handle a case when Code Style settings = null 2020-01-24 10:14:46 +03:00
Abduqodiri Qurbonzoda e89893b6fd Optimize ArrayDeque tests run time 2020-01-24 05:52:18 +03:00
Ilya Gorbunov 8733d5f9ed ArrayDeque: avoid triggering JDK 1.6 bug in tests
Use System.arraycopy instead of Arrays.copyOfRange to
avoid triggering JDK-7174363 bug in copyOfRange.

Fix package of ArrayDequeTest
2020-01-24 01:39:48 +03:00
Vladimir Dolzhenko 6352cded1b Add modCounter to invalidate synthetic file cache
#KT-35186 Fixed
2020-01-23 21:18:13 +01:00
Mark Punzalan 7329a1641a [JVM IR] Fix lambdaInLocalFunction.kt by adding helper methods that
return the target backend under test.
2020-01-23 19:16:27 +01:00
Andrey Uskov beb3165839 Added FUS extensions and new metrics for reporting statistics from gradle 2020-01-23 20:47:21 +03:00
Andrey Uskov bac0309a9b Added tests to gradle statistics reporter 2020-01-23 20:47:20 +03:00
Andrey Uskov 33d89e15b5 Metric description and anonymization rules added
Added metrics and their anonymization rules added. Persisted gradle
statistical information will not contain any sensitive information.
#KT-33404 Fixed
2020-01-23 20:47:19 +03:00
Andrey Uskov 763e02b3e8 Collecting performance information in Gradle plugin supported
The build performance information is collected during the build
when the Kotlin Gradle plugin is applied. Only hashed values are
saved if they may contain sensitive information. Numeric metrics
obtained on the basis of user's project are saved with random seed.
Persisted information is saved in gradleUserHomeDir.

#KT-33404 Fixed
2020-01-23 20:47:19 +03:00
Andrey Uskov e1d03e1f3a Open files leak on incremental compilation fixed
#KT-25206 Fixed
2020-01-23 20:47:18 +03:00
Andrey Uskov 44edfc3717 Do not show warnings when some projects are not generated before import
#KT-35442 Fixed
2020-01-23 20:45:26 +03:00