20 Commits

Author SHA1 Message Date
52916d2f4a Rewrite POSIX Tty to actually use the TTY (#805)
And a PTY for testing. Windows still uses stdin/stdout for now.
2025-03-19 20:27:29 +00:00
f71c42d2d0 Make all samples multiplatform (#786) 2025-03-13 13:23:43 -04:00
1d6a300bb8 Upgrade to Kotlin 2.1.20-RC (#734)
Use the new application plugin replacement.
2025-02-24 17:02:18 +00:00
321290f5c1 Create mosaic-testing module (#528) 2025-01-03 21:55:32 +00:00
028a7a9bff Add tool for displaying raw input (#462) 2024-09-03 21:01:56 -04:00
e308b86351 Hide and show the cursor automatically during rendering (#452) 2024-08-26 16:30:32 +00:00
83474b8724 Remove JS support (#447)
Demand for this is low, probably 0. If someone wants for it they can file an issue and we can discuss support further.

Downgrade to Gradle 8.9 because of KT-70700.
2024-08-23 09:59:23 -04:00
4d053dbbd3 Change runMosaic to support effects (#284) 2024-08-16 16:58:08 -04:00
a5ec60767d Update to Kotlin 2.0
* Update Kotlin and Compose to v2

* Kotlin 2.0 updates

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jake Wharton <jw@squareup.com>
2024-05-28 16:55:50 -04:00
36fc6a8e3b Update dependency io.nlopez.compose.rules:ktlint to v0.3.15 (#345)
* Update dependency io.nlopez.compose.rules:ktlint to v0.3.15

* Use mutableIntStateOf

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jake Wharton <jw@squareup.com>
2024-04-14 01:34:12 +00:00
e67cb363c7 Fix Gradle warnings (#248)
* Fix deprecation warning coming from buildconfig plugin.

> Configure project :build-logic:mosaic-gradle-plugin
The Project.getConvention() method has been deprecated. This is scheduled to be removed in Gradle 9.0. Consult the upgrading guide for further information: https://docs.gradle.org/8.4/userguide/upgrading_version_8.html#deprecated_access_to_conventions
        at build_76rlsb2vs9qh6z5gt0vmnl0ip.run(P:\projects\contrib\github-mosaic\mosaic-gradle-plugin\build.gradle:3)

* Fix application plugin related deprecations. `mainClassName` is a convention property, even when it's inside the `application` block.
We cant to set https://docs.gradle.org/8.4/dsl/org.gradle.api.plugins.JavaApplication.html#org.gradle.api.plugins.JavaApplication:mainClass instead.

> Configure project :samples:counter
Build file 'P:\projects\contrib\github-mosaic\samples\counter\build.gradle': line 11
The org.gradle.api.plugins.ApplicationPluginConvention type has been deprecated. This is scheduled to be removed in Gradle 9.0. Consult the upgrading guide for further information: https://docs.gradle.org/8.4/userguide/upgrading_version_8.html#application_convention_deprecation
        at build_dw2puawl5bmiuhlfercnbnay0$_run_closure1.doCall$original(P:\projects\contrib\github-mosaic\samples\counter\build.gradle:11)
        at build_dw2puawl5bmiuhlfercnbnay0.run(P:\projects\contrib\github-mosaic\samples\counter\build.gradle:10)

		Build file 'P:\projects\contrib\github-mosaic\samples\counter\build.gradle': line 11
The org.gradle.api.plugins.Convention type has been deprecated. This is scheduled to be removed in Gradle 9.0. Consult the upgrading guide for further information: https://docs.gradle.org/8.4/userguide/upgrading_version_8.html#deprecated_access_to_conventions
        at build_dw2puawl5bmiuhlfercnbnay0$_run_closure1.doCall$original(P:\projects\contrib\github-mosaic\samples\counter\build.gradle:11)
        at build_dw2puawl5bmiuhlfercnbnay0.run(P:\projects\contrib\github-mosaic\samples\counter\build.gradle:10)

> Configure project :samples:jest | :samples:robot | :samples:demo
Build file 'P:\projects\contrib\github-mosaic\samples\jest\build.gradle': line 5
The org.gradle.api.plugins.ApplicationPluginConvention type has been deprecated. This is scheduled to be removed in Gradle 9.0. Consult the upgrading guide for further information: https://docs.gradle.org/8.4/userguide/upgrading_version_8.html#application_convention_deprecation
        at build_3tv3yi15cjhed4vkpewcfismx.run(P:\projects\contrib\github-mosaic\samples\jest\build.gradle:5)

Build file 'P:\projects\contrib\github-mosaic\samples\jest\build.gradle': line 5
The org.gradle.api.plugins.Convention type has been deprecated. This is scheduled to be removed in Gradle 9.0. Consult the upgrading guide for further information: https://docs.gradle.org/8.4/userguide/upgrading_version_8.html#deprecated_access_to_conventions
        at build_3tv3yi15cjhed4vkpewcfismx.run(P:\projects\contrib\github-mosaic\samples\jest\build.gradle:5)

* Ignore warning about Kotlin/Native, there's no way to build mac binaries on Linux and Windows, so no need to nag about it.

> Configure project :mosaic-runtime
w: The following Kotlin/Native targets cannot be built on this machine and are disabled:
macosArm64, macosX64
To hide this message, add 'kotlin.native.ignoreDisabledTargets=true' to the Gradle properties.

> Configure project :samples:counter
w: The following Kotlin/Native targets cannot be built on this machine and are disabled:
macosArm64, macosX64
To hide this message, add 'kotlin.native.ignoreDisabledTargets=true' to the Gradle properties.
2023-11-13 22:37:15 +00:00
9358bd8ad5 Add new demo app for messing around (#246) 2023-11-13 21:16:08 +00:00
ec6c09eca2 Enable Spotless/ktlint formatting (#243) 2023-11-13 19:01:40 +00:00
e40752e991 Break layout and components into packages, individual files 2023-03-12 00:10:22 -05:00
a1a42bf4ee Don't be a chump and expose runMosaicBlocking everywhere
Or, at least, everywhere possible given our constraints.
2023-01-25 23:23:42 -05:00
2ae0256004 Change entrypoint to a suspend function
...and add support for running in JS!
2023-01-25 23:01:14 -05:00
20e36199c2 Port runtime to multiplatorm 2023-01-23 21:32:35 -05:00
f8eb590dac Remove extra newline at the end of the GIFs 2023-01-18 16:41:20 -05:00
73a62c7129 Use agg to render gifs 2023-01-17 23:55:47 -05:00
11d276f2d9 Restructure project to a nested build
This allows the samples (formerly examples) to configure themselves like a regular consumer would (using the Gradle plugin).
2021-05-05 12:37:19 -04:00