Commit Graph

9287 Commits

Author SHA1 Message Date
Abduqodiri Qurbonzoda 4ae19b2b44 [K/N] Deprecate SharedImmutable annotation #KT-57837
As a part of efforts to stabilize Native stdlib.
2023-06-19 11:35:32 +00:00
Ilya Goncharov 0afe712f07 [Gradle, JS] Test on changing of synced files since 7.6 Gradle 2023-06-19 09:14:27 +00:00
Dmitrii Krasnov a5c72925a0 Fixed testSyncFrameworkMultipleArchitecturesWithCustomName
#KT-51553 In Progress
2023-06-19 10:43:46 +02:00
Timofey Solonin 19c6622ff6 [MPP] Remove obsolete targets from NewMultiplatformIT and ConfigurationCacheIT
^KT-58822
2023-06-16 18:44:03 +00:00
Timofey Solonin cba7154e8a [MPP] Remove broken execution test and replace obsolete targets in CommonizerIT with curl
^KT-58822
2023-06-16 18:05:54 +00:00
Timofey Solonin 5df50c0fca [MPP] Remove obsolete targets from CommonizerHierarchicalIT.commonizeHierarchically
^KT-58822
2023-06-16 17:20:58 +00:00
Alexander.Likhachev ac79633590 [Gradle] Register default kapt classes dir as an output
#KT-59256 Fixed
2023-06-16 15:42:59 +00:00
Alexander.Likhachev b23b9ab287 [Gradle] Add an integration test for KT-59256 2023-06-16 15:42:59 +00:00
Vyacheslav Gerasimov 80758b36e3 Build: Add NodeJs to implicitDependencies
#KTI-72
2023-06-16 12:19:01 +00:00
Anton Lakotka 4a66279f00 fixup! Fix 'commonMain cant depend on androidInstrumentedTest' test 2023-06-16 12:11:38 +00:00
Anton Lakotka deb4ed5e39 [Gradle] Add KotlinSourceSetDependsOnDefaultCompilationSourceSet diagnostic
Default Kotlin Source sets should not have any dependents.

^KT-47144 Verification Pending
2023-06-16 12:11:38 +00:00
Anton Lakotka 4084fc62ee fixup! add cycle check 2023-06-16 12:11:38 +00:00
Anton Lakotka 52cfd01380 fixup! add long diamond source set dependencies test case 2023-06-16 12:11:38 +00:00
Anton Lakotka 765c489eca fixup! Add : 2023-06-16 12:11:38 +00:00
Anton Lakotka 4a869e42c2 fixup! Remove unused import 2023-06-16 12:11:38 +00:00
Anton Lakotka 3774bafc72 fixup! Ignore other diagnostics that can appear during test run
For example when commonMain depends on commonTest there will be
CommonMainWithDependsOnDiagnostic diagnostic reported.

Or running gradle build on linux with apple targets inside will report
DisabledKotlinNativeTargets diagnostic.

KotlinSourceSetTreeDependsOnMismatchTest is not interested in them
2023-06-16 12:11:38 +00:00
Anton Lakotka acf8f5b26b [Gradle] Include android source sets to source set depends on checker
Excluding android source sets can actually bring unexpected behaviour
when, for example, androidInstrumentedTest get depends on commonMain.
In this case "nativeMain" will be reported as checked skipped android
source sets, but they are still present in dependsOn edges.

Another important aspect is that mpp+android is a majority and their
cases should be checked as well

^KT-47144 Verification Pending
2023-06-16 12:11:38 +00:00
Anton Lakotka a4705050b1 [Gradle] Improve KotlinSourceSetTreeDependsOnMismatch heuristic
Introduce "White Crow" heuristic that will report incorrect dependency
edge when there is only one source set with different Source Set Tree.

Otherwise, report all source sets from all Source Set Tree groups
to user to choose which of them are incorrect.

And cover with more tests.

^KT-47144 Verification Pending
2023-06-16 12:11:38 +00:00
Anton Lakotka 681305c8e9 [Gradle] Add KotlinSourceSetTreeDependsOnMismatch diagnostic
In Kotlin Multiplatform it is not possible to have
source set dependencies between two different SourceSet Trees.

For example commonTest can't dependOn commonMain as SourceSet dependency
instead binaries of commonMain should be included as dependency to
commonTest. Which is implemented through different mechanisms

^KT-47144 Verification Pending
2023-06-16 12:11:38 +00:00
Pavel Kirpichenkov a7ff0cfc9d Remove deprecated CInteropSettings#getDependencyConfigurationName
KT-55908
2023-06-16 11:00:42 +00:00
Dmitrii Krasnov c1026a759a Migrated cocoapods tests to new test dsl (junit 5 and gradle test kit) 2023-06-15 15:28:07 +00:00
Artem Daugel-Dauge 2abe04132b [Tests] Try to make CocoaPods installation more robust 2023-06-15 13:46:37 +00:00
Dmitrii Krasnov 39e97e5766 Migrated AppleFrameworkNonMacIT to new test dsl (junit 5 and gradle test kit)
#KT-51553 In Progress
2023-06-15 11:44:58 +00:00
Artem Daugel-Dauge b1faee5ec6 [Gradle] Configuration cache support in CocoaPods plugin and Apple frameworks tasks
^KT-54362 Verification Pending

Merge-request: KT-MR-9947
2023-06-15 10:37:28 +00:00
Dmitrii Krasnov 455aa4a76a Migrated the rest part of git connected cocoapods tests to the new test dsl (junit 5 and gradle test kit)
#KT-51553 In Progress
2023-06-15 07:06:08 +00:00
Dmitry Savvinov a4d40498c7 [mpp] Remove KMM-related diagnostic functional tests
Functional tests do not run on Mac-hosts on CI. Adding a corresponding
integration will be handled as part of more general KGP/MPP tests
rework
2023-06-14 14:36:48 +02:00
Dmitry Savvinov 768e185280 [mpp] Ignore KMM-related diagnostic tests
Currently, CI runs on Linux agents which can not work with iOS targets
2023-06-14 14:36:48 +02:00
Dmitry Savvinov 66411a92f0 [Gradle] Cleanup: remove unused classes
- CompilationFreeArgsValidator got accidentally unused at some point,
and for now we don't see a reason to enable it back. A proper solution
includes exposing K/N linker options more explicitly via DSL, which
would address the initial problem of passing linker options to compiler
accidentally

- With ComplationFreeArgsValidator removal and migration of
DisabledNativeTargetsReporter to diagnostics infra, AggregateReporter
becomes unused so it can be removed as well
2023-06-14 14:36:48 +02:00
Dmitry Savvinov e74e6759ed [Gradle] Cleanup: remove SingleWarningPerBuild API
Instead, newer infrastructure for diagnostics should be used (see
'KotlinToolingDiagnosticsCollector')
2023-06-14 14:36:48 +02:00
Dmitry Savvinov 8a5433734b [Gradle] Migrate K2-usage warning 2023-06-14 14:36:48 +02:00
Dmitry Savvinov b6a90cfe7e [Gradle] Migrate warning about using pre-HMPP dependencies to new infra 2023-06-14 14:36:48 +02:00
Dmitry Savvinov 57b71b8ea6 [Gradle] Migrate warning about not chosen JS-environment 2023-06-14 14:36:48 +02:00
Dmitry Savvinov 76c37f359a [Gradle] Migrate warning about inconsistent JVM target 2023-06-14 14:36:48 +02:00
Dmitry Savvinov 5658991fe3 [Gradle] Migrate reporting of K/N targets disabled on current host 2023-06-14 14:36:48 +02:00
Dmitry Savvinov 5a9aa43aa5 [Gradle] Migrate disabled cinterops commonization warning 2023-06-14 14:36:47 +02:00
Dmitry Savvinov 63f61685c0 [Gradle] Migrate diagnostic about empty Kotlin targets in an MPP project
Also demote it from FATAL to ERROR, as FATAL leads to pretty disruptive
UX in IDE (import fails, and you don't get a broken project, which
makes it hard to fix the root cause and declare a target)
2023-06-14 14:36:47 +02:00
Dmitry Savvinov dcb51e64df [Gradle] Migrate warning about missing Android-target to new infra 2023-06-14 14:36:47 +02:00
Dmitry Savvinov 84fb045d8a [Gradle] Migrate warning about pre-1.3 MPP plugins 2023-06-14 14:36:47 +02:00
Dmitry Savvinov 4f309c0c8f [Gradle] Migrate unrecognized K/N distro warning 2023-06-14 14:36:47 +02:00
Dmitry Savvinov d9b7130f4b [Gradle] Migrate reporting of deprecated properties usage 2023-06-14 14:36:47 +02:00
Dmitry Savvinov 4bef185ccb [Gradle] Migrate checks for non-disambiguated targets 2023-06-14 14:36:47 +02:00
Dmitry Savvinov 1a5cbe1245 [Gradle] Improve diagnostics-related test assertions
- Allow matching substring for 'assertNoDiagnostic' as well
- Better handling of cases when multiple diagnostics with the same ID
are reported (properly look for one 'withSubstring' if provided)
2023-06-14 14:36:47 +02:00
Dmitry Savvinov 1ab1dccea1 [Gradle] Support rendering diagnostics reported in execution phase
- Introduce 'UsesKotlinDiagnostics' marker-interface for tasks that
want to report diagnostics during their execution

- Introduce 'transparent mode' to collector. When all projects are
evaluated, Collector switches to it and will render all received
diagnostics right away. This allows reporting and rendering diagnostics
that are reported not from tasks, but after evaluation phase (e.g.
diagnostics on resolved dependencies)

^KT-58353 Fixed
2023-06-14 14:36:47 +02:00
Dmitry Savvinov 37e791a7d3 [Gradle] Minor: drop deprecated kotlin.build.report.enable property 2023-06-14 14:36:47 +02:00
Dmitry Savvinov dc4bbbc333 [mpp] Minor: drop warning about deprecated K/N test binary access 2023-06-14 14:36:47 +02:00
Dmitry Savvinov 6e8493fa52 [mpp] Minor: drop support for "kotlin.native.restrictedDistribution" 2023-06-14 14:36:47 +02:00
Dmitry Savvinov eeb95f2feb [Gradle] Minor: compare against expected testData in tmpDir
This might become an issue if (when) the editable diff window will
be supported, but for now it doesn't make much difference against
which file we compare the actual output.
2023-06-14 14:36:46 +02:00
Dmitry Savvinov 896292cba1 [Gradle] Minor: remove unused parameter 2023-06-14 14:36:46 +02:00
Timofey Solonin 6d66eb4ac2 [MPP] Use two simulator targets in CocoaPodsIT
^KT-58822
2023-06-14 12:28:23 +00:00
Timofey Solonin 14bc02287b [MPP] Replace obsolete target in CommonizerHierarchicalIT.optimisticCommonization
^KT-58822
2023-06-14 12:10:00 +00:00