// Copyright 2020 The Jujutsu Authors // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // https://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // mimalloc only enabled on configurations that are validated to work in CI #[cfg(any( all(target_os = "windows", target_arch = "x86_64"), all(target_os = "macos", target_arch = "x86_64"), all(target_os = "macos", target_arch = "aarch64"), all(target_os = "linux", target_arch = "x86_64"), all(target_os = "linux", target_arch = "aarch64"), ))] #[global_allocator] static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc; use jj_cli::cli_util::CliRunner; use jj_cli::commands::imogen; fn main() -> std::process::ExitCode { CliRunner::init() .version(env!("JJ_VERSION")) // Ink's Imogen repositories (the jj-imogen crate) next to git's. .add_store_factories(jj_imogen::store_factories()) .add_subcommand(imogen::run) .add_dispatch_hook(imogen::hook) .run() .into() }