206 Commits

Author SHA1 Message Date
Igor Demin
affbb955b6 Add uiTestJUnit4 to Compose Gradle Plugin (#1282) 2021-10-20 19:28:58 +03:00
Alexey Tsvetkov
941875196d Add tags for Gradle plugin portal publication (#1276) 2021-10-19 18:25:54 +03:00
akurasov
59ab245fdf Initial implementation of experimental interop with Jetpack Compose (#1190)
* Initial implementation of experimental interop with Jetpack Compose

* Small refactoring
2021-09-27 21:34:29 +03:00
Nikolay Igotti
86bf3115b5 Sync/2021 09 27 (#1203) 2021-09-27 18:03:34 +03:00
Oleksandr Karpovich
5dc4f1d9d9 Remove WarnAboutComposeWithSerialization.kt (#1167)
Since kotlin 1.5.30, kotlinx.serialization plugin is forced to run its transformations before any other plugin. This made compose and kotlinx.serialization compatible, therefore no need to warn about their simultaneous usage.

Co-authored-by: Oleksandr Karpovich <oleksandr.karpovich@jetbrains.com>
2021-09-20 16:41:35 +02:00
Oleksandr Karpovich
805797eb98 web: add testUtils alias to gradle plugin (#1165)
This will allow to use the dependency like this:
`compose.web.testUtils`

Co-authored-by: Oleksandr Karpovich <oleksandr.karpovich@jetbrains.com>
2021-09-20 16:41:22 +02:00
Mitchell Syer
8371226f66 Fix signing settings when no Keychain is specified - Fixed (#1152)
Closes #1086
Closes #1020
2021-09-11 20:01:03 +03:00
Igor Demin
d956a2a1ee Revert "Fix signing settings when no Keychain is specified (#1093)"
This reverts commit 5b34141cbe.

We have a compilation error:
```
e: /mnt/agent/work/737a92a2f69083c2/gradle-plugins/compose/src/main/kotlin/org/jetbrains/compose/desktop/application/internal/validation/ValidatedMacOSSigningSettings.kt: (59, 20): Unresolved reference: keychainFile
```
2021-09-10 19:47:40 +03:00
Mitchell Syer
5b34141cbe Fix signing settings when no Keychain is specified (#1093)
Closes #1086
2021-09-10 06:59:11 +03:00
Igor Demin
c9a7b15e86 Migrate to Kotlin 1.5.30 2021-08-27 20:40:51 +03:00
Alexey Tsvetkov
c51cb3b6da Fix warning caused by NPE in tests (#1004)
There are two types of Gradle tests:
* integration tests (:compose:testGradle-<GRADLE_VERSION>);
* unit tests (:compose:test);

There is a custom test name generator (GradleTestNameGenerator),
which prints current version of Gradle for integration tests.
During unit tests execution, GradleTestNameGenerator failed
with NPE, because the 'gradle.version.for.tests' system property
was not set. NPE did not crash the test suite,
but it was printed to stderr.
2021-08-05 19:43:57 +03:00
Alexey Tsvetkov
7870d665c4 Escape resources dir separator on Windows (#1005)
Resolves #999
2021-08-05 12:12:37 +03:00
Alexey Tsvetkov
4697b0fed1 Add skiko-runtime-jvm jar to preview classpath if necessary (#987) 2021-08-03 18:35:00 +03:00
Alexey Tsvetkov
d8ada29395 Add compose.preview dependency shortcut (#989)
Useful for MPP modules, that don't depend on compose.desktop.currentOs
2021-08-03 18:34:49 +03:00
Alexey Tsvetkov
6d0f74346f Allow using relative path, when specifying signing keychain (#988) 2021-08-03 18:24:12 +03:00
Alexey Tsvetkov
3070856954 Support packaging resources into distribution (#983)
Resolves #938
2021-08-03 18:12:26 +03:00
Alexey Tsvetkov
227834f963 Allow preview to work without explicit dependency on compose.uiTooling (#972)
Add runtime-only module org.jetbrains.compose.ui:ui-tooling-desktop
to preview classpath in configureDesktopPreview task
2021-08-02 11:47:06 +03:00
Scott Pierce
8342d370d6 Sign jnilib files on osx in addition to dylib files. (#966)
Co-authored-by: Scott Pierce <>
2021-08-02 08:02:48 +03:00
Igor Demin
1786de28a7 Sync/2021 07 30 (#961) 2021-07-31 00:38:25 +03:00
Alexey Tsvetkov
8a685b62fb Fix compatibility with Gradle < 7.1 (#957) 2021-07-30 00:29:32 +03:00
Alexey Tsvetkov
22a7cea62e Remove deprecated Gradle plugin DSL properties (#953) 2021-07-29 16:44:59 +03:00
Alexey Tsvetkov
4945f450e1 Enable running preview for any Compose Desktop module (#951)
Previously preview only worked in projects,
that define compose.desktop.application {} DSL block

Resolves #908
2021-07-29 12:09:13 +03:00
Oleksandr Karpovich
af2f2b2b8d Add a check that compose is used along with kotlinx.serialization (#900)
* Add a check that compose is used along with kotlinx.serialization

There's a known issue that both plugins can't be used in the same module (specifically for kotlin/js targets).
The compose gradle plugin will check for `kotlinx.serialization` and will show a warning.

* Fix PR suggestions

* Update WarnAboutComposeWithSerialization.kt

Update the link for the issue

Co-authored-by: Oleksandr Karpovich <oleksandr.karpovich@jetbrains.com>
2021-07-27 09:57:27 +02:00
Igor Demin
581b5f0b0a Update Compose + Migrate to 0.5.0-build262 / Kotlin 1.5.21 (#916) 2021-07-21 11:24:17 +03:00
Alexey Tsvetkov
b73b09dffc Include jdk.crypto.ec by default (#905)
Without this module most of https
is not going to work (see https://github.com/JetBrains/compose-jb/issues/269 or https://github.com/JetBrains/compose-jb/issues/429)

The inclusion of this module increases a size of
a prepackaged app by ~440 kb
and of a packaged dmg by ~167 kb
2021-07-19 15:56:18 +03:00
Alexey Tsvetkov
6038da77ba Allow adding extra keys to Info.plist (#845)
Resolves #795
2021-07-05 18:41:23 +03:00
Igor Demin
b1d8682cbe Automatically add `-Dcompose.application.configure.swing.globals=true to run/package tasks (#820)
When users run/package application we will configure Compose to work as standalone application.

It means we will override some global Swing properties in Compose initialization function:
- sets system property `apple.laf.useScreenMenuBar` to true
- sets system property `sun.java2d.uiScale`/`sun.java2d.uiScale.enabled` automatically on Linux
- sets UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName())

When users don't use those tasks (when they use Compose in an existing Swing application, or in an IDEA plugin),
this property will not be set, and so we will not override Swing globals.
2021-06-30 19:20:48 +03:00
Alexey Tsvetkov
e96826c47c Use Gradle 7.1 for building Gradle and Intellij plugin (#836)
* Replace usage of 'de.fuerstenau.buildconfig'
with a custom replacement, because the plugin
does not support Gradle 7.0+ and
there has not been any commit activity in 5 years
(https://github.com/mfuerstenau/gradle-buildconfig-plugin);
* Update 'com.github.johnrengelman.shadow' to 7.0.0
2021-06-30 17:52:45 +03:00
Nikolay Igotti
2e82f1cc98 Add linux_arm64 target 2021-06-29 20:38:55 +03:00
Igor Demin
854de3681c Publish components (#829) 2021-06-29 16:55:08 +03:00
Alexey Tsvetkov
2be46f961e Implement first version of non-interactive preview for desktop (#803)
Implement first version of non-interactive preview for desktop
2021-06-29 10:23:35 +03:00
Nikolay Igotti
bf4f7051a2 Move to Kotlin 1.5.10 and Compose 0.4.0-rc1 2021-05-28 14:28:15 +03:00
Alexey Tsvetkov
92150195ea Allow specifying asc provider for notarization
Resolves #674
2021-05-28 08:47:22 +03:00
Alexey Tsvetkov
1040af337b Customize Info.plist before jpackage
Resolves #679
2021-05-27 18:58:14 +03:00
Shagen Ogandzhanian
06a905e63a Split web-core to web-core and web-integration
This also means that we have new naming for web artifacts in the gradle plugin
2021-05-24 23:17:07 +02:00
Shagen Ogandzhanian
d501a6f721 [web] Set group id and version as a simple project properties
As opposed to the failed attempt of configurating it via publishing
Also:  Update path in compose.web.web accordingly
2021-05-20 23:48:16 +02:00
Nikolay Igotti
6e3677e450 Fix typo. 2021-05-20 18:09:04 +03:00
Nikolay Igotti
7bdb87f20b Move to Compose 0.4.0-build208 and Kotlin 1.5.0 2021-05-20 17:48:04 +03:00
Harsh Shandilya
c1aa3a33ca gradle-plugins/compose: Don't eagerly evaluate web platform
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
2021-05-04 18:34:03 +03:00
Alexey Tsvetkov
7a47ba8dd8 Support Kotlin JS targets in Compose Gradle plugin 2021-04-28 18:35:23 +03:00
Alexey Tsvetkov
d1908bb41a Re-sign app after patching Info.plist
Resolves #602
2021-04-22 11:25:45 +03:00
Alexey Tsvetkov
8c8b4147ab Update to 0.4.0-build182 and get rid of jcenter
The build `0.4.0-build182` upgrades
`kotlinx-collections-immutable` library
(which is used by the compose runtime) to 0.3.4,
which was published to maven central,
so most usages of sunsetting jcenter repo
can be removed now.

Resolves #557
2021-04-21 12:44:57 +03:00
Alexey Tsvetkov
e7e5b79597 Fix unpacking skiko on Linux and Windows (#586) 2021-04-13 10:18:56 +03:00
Alexey Tsvetkov
62d58b4615 Unpack Skiko in native distributions
Resolves #546
2021-04-12 16:58:54 +03:00
Nikolay Igotti
76e3f45f8b Move to Kotlin 1.4.32 and 0.4.0-build180 2021-04-12 12:26:03 +03:00
Alexey Tsvetkov
b483ad4c22 Add preview support to Gradle plugin 2021-04-05 20:04:32 +03:00
Alexey Tsvetkov
f80456dd46 Refactor: move AbstractComposeDesktopTask 2021-04-05 20:04:32 +03:00
Alexey Tsvetkov
6dbe467abf Split Maven artifact configuration and Gradle plugin configuration
This is needed to introduce non-Gradle plugin modules under gradle-plugins build for
Compose preview runtime.
2021-04-05 20:04:32 +03:00
Alexey Tsvetkov
826f130b99 Set NSSupportsAutomaticGraphicsSwitching in native Mac distributions by default
Resolves #545
2021-04-05 19:39:31 +03:00
DetachHead
da8a6a44a0 error message for 32 bit arch (#562) 2021-04-05 18:44:13 +03:00