From 9ccec13a01b01e749b136b010121bd527c42d02e Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Mon, 6 May 2024 12:47:51 +0200 Subject: [PATCH] [platform] adding resource strings to Windows restarter (IJPL-34858) GitOrigin-RevId: a7174e3fbe28c3107201e34b5d6142a9fff83d6e --- native/restarter/Cargo.lock | 119 +++++++++++++++++++++++++++++++- native/restarter/Cargo.toml | 13 +++- native/restarter/build.rs | 8 +++ native/restarter/tests/tests.rs | 2 + 4 files changed, 140 insertions(+), 2 deletions(-) create mode 100644 native/restarter/build.rs diff --git a/native/restarter/Cargo.lock b/native/restarter/Cargo.lock index 190838af7450..43b3513d9632 100644 --- a/native/restarter/Cargo.lock +++ b/native/restarter/Cargo.lock @@ -17,12 +17,40 @@ dependencies = [ "num-traits", ] +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + +[[package]] +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown", +] + [[package]] name = "libc" version = "0.2.153" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +[[package]] +name = "memchr" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" + [[package]] name = "num-traits" version = "0.2.16" @@ -52,11 +80,41 @@ dependencies = [ [[package]] name = "restarter" -version = "0.2.0" +version = "0.3.0" dependencies = [ "chrono", "libc", "windows", + "winresource", +] + +[[package]] +name = "serde" +version = "1.0.200" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddc6f9cc94d67c0e21aaf7eda3a010fd3af78ebf6e096aa6e2e13c79749cce4f" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.200" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "856f046b9400cee3c8c94ed572ecdb752444c24528c035cd35882aad6f492bcb" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_spanned" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eb3622f419d1296904700073ea6cc23ad690adbd66f13ea683df73298736f0c1" +dependencies = [ + "serde", ] [[package]] @@ -70,12 +128,52 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "toml" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd79e69d3b627db300ff956027cc6c3798cef26d22526befdfcd12feeb6d2257" +dependencies = [ + "serde", + "serde_spanned", + "toml_datetime", + "toml_edit", +] + +[[package]] +name = "toml_datetime" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +dependencies = [ + "serde", +] + +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap", + "serde", + "serde_spanned", + "toml_datetime", + "winnow", +] + [[package]] name = "unicode-ident" version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + [[package]] name = "windows" version = "0.56.0" @@ -192,3 +290,22 @@ name = "windows_x86_64_msvc" version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" + +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + +[[package]] +name = "winresource" +version = "0.1.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77e2aaaf8cfa92078c0c0375423d631f82f2f57979c2884fdd5f604a11e45329" +dependencies = [ + "toml", + "version_check", +] diff --git a/native/restarter/Cargo.toml b/native/restarter/Cargo.toml index 01ae562e1086..d95279aaccde 100644 --- a/native/restarter/Cargo.toml +++ b/native/restarter/Cargo.toml @@ -1,9 +1,10 @@ [package] name = "restarter" -version = "0.2.0" +version = "0.3.0" edition = "2021" rust-version = "1.70" publish = false +build = "build.rs" [profile.release] strip = "debuginfo" @@ -19,3 +20,13 @@ libc = "0.2.153" [target.'cfg(target_os = "windows")'.dependencies] windows = { version = "0.56.0", features = ["Win32_Foundation", "Win32_System_Threading"] } + +[target.'cfg(target_os = "windows")'.build-dependencies] +winresource = "0.1.17" + +[package.metadata.winresource] +CompanyName = "JetBrains s.r.o." +FileDescription = "IDE update and restart helper" +LegalCopyright = "Copyright 2000-2024 JetBrains s.r.o." +OriginalFilename = "restarter.exe" +ProductName = "IntelliJ Platform" diff --git a/native/restarter/build.rs b/native/restarter/build.rs new file mode 100644 index 000000000000..ef481cd7cf09 --- /dev/null +++ b/native/restarter/build.rs @@ -0,0 +1,8 @@ +// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. + +fn main() { + #[cfg(target_os = "windows")] + { + winresource::WindowsResource::new().compile().unwrap(); + } +} diff --git a/native/restarter/tests/tests.rs b/native/restarter/tests/tests.rs index f5ae2cc1bb6a..be56d6a98e07 100644 --- a/native/restarter/tests/tests.rs +++ b/native/restarter/tests/tests.rs @@ -1,3 +1,5 @@ +// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license. + #[cfg(test)] mod tests { use std::env;