-
Notifications
You must be signed in to change notification settings - Fork 8
/
Cargo.toml
157 lines (147 loc) · 5.01 KB
/
Cargo.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# Copyright (C) 2023 Bryan A. Jones.
#
# This file is part of the CodeChat Editor.
#
# The CodeChat Editor is free software: you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option) any
# later version.
#
# The CodeChat Editor is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# the CodeChat Editor. If not, see
# [http://www.gnu.org/licenses/](http://www.gnu.org/licenses/).
#
# # `Cargo.toml` -- Rust build/package management config
#
# ## General package configurations
[package]
authors = ["Bryan A. Jones", "Peter Loux"]
categories = ["development-tools", "text-editors"]
description = "A programmer's word processor."
edition = "2021"
# We don't currently (fully) support publishing via cargo. The expected process:
#
# 1. In `client/`, remove all the files in `static/bundled` then run
# `npm run dist`.
# 2. Copy `../client/static` to `./static`.
# 3. Package away.
include = [
"src/**",
"log4rs.yml",
# Referencing `../client/static` causes the files not to be included when
# packaging. So, copy them manually (see the steps above). I'd like to
# exclude `.gitignore`, but don't see how to do this.
"static/**",
]
keywords = ["literate programming"]
license = "GPL-3.0-only"
name = "codechat-editor-server"
readme = "../README.md"
repository = "https://github.com/bjones1/CodeChat_Editor"
version = "0.1.0"
# This library allows other packages to use core CodeChat Editor features.
[lib]
name = "code_chat_editor"
# ## Dependencies
[dependencies]
actix = "0.13.1"
actix-files = "0.6"
actix-rt = "2.9.0"
actix-web = "4"
actix-ws = "0.3.0"
bytes = { version = "1", features = ["serde"] }
lazy_static = "1"
log = "0.4"
log4rs = "1.3"
notify-debouncer-full = "0.3.1"
path-slash = "0.2.1"
regex = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tokio = { version = "1", features = ["full"] }
urlencoding = "2"
# Per the [docs](https://docs.rs/crate/pulldown-cmark/latest), skip building the
# binary.
pulldown-cmark = { version = "0.12", default-features = false, features = ["html"] }
futures-util = "0.3.29"
async-trait = "0.1.81"
open = "5.3.0"
dunce = "1.0.5"
mime = "0.3.17"
mime_guess = "2.0.5"
url = "2.5.2"
# [Windows-only dependencies](https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencies).
[target.'cfg(windows)'.dependencies]
win_partitions = "0.3.0"
# ### Development-only dependencies
[dev-dependencies]
assertables = "7.0.1"
assert_fs = "1"
tokio-tungstenite = "0.23.1"
minreq = "2.12.0"
actix-http = "3.9.0"
# See the [docs](https://github.com/rust-lang/rust-clippy#usage) to install
# clippy; it can't be installed as a dev-dependency. See the
# [fmt docs](https://github.com/rust-lang/rustfmt#quick-start) to install fmt.
# #### Use local packages for development
[patch.crates-io]
# Commented out for now; uncomment to resume use.
#actix = { path = "../../actix/actix" }
#actix-rt = { path = "../../actix-net/actix-rt" }
# ## Release
#
# Specify release-only features for pulldown. See the
# [docs](https://docs.rs/crate/pulldown-cmark/latest).
[profile.release]
lto = true
codegen-units = 1
panic = "abort"
# ## Features
#
# See the [docs](https://doc.rust-lang.org/cargo/reference/features.html).
[features]
# Uncomment this to show an explanation of the lexing process.
#default = ["lexer_explain"]
lexer_explain = []
[lints.rust]
# Avoid a lint about tarpaulin.
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin_include)'] }
# ## Distribution
#
# This uses [cargo dist](https://opensource.axo.dev/cargo-dist) to build
# binaries across multiple platforms using github's CI/CD.
#
# The profile that `cargo dist` will build with.
[profile.dist]
inherits = "release"
lto = "thin"
# ### Config for `cargo dist`
[workspace.metadata.dist]
# The preferred cargo-dist version to use in CI (Cargo.toml SemVer syntax)
cargo-dist-version = "0.19.1"
# Extra static files to include in each App (path relative to this Cargo.toml's
# dir)
include = ["log4rs.yml", "../client/static"]
# The installers to generate for each app
installers = ["msi"]
# Target platforms to build apps for (Rust target-triple syntax)
targets = ["aarch64-apple-darwin", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu", "x86_64-pc-windows-msvc"]
# CI backends to support
ci = "github"
# Publish jobs to run in CI
pr-run-mode = "plan"
# Skip checking whether the specified configuration files are up to date
allow-dirty = ["ci"]
# Publish jobs to run in CI
publish-jobs = ["./npm-build"]
[package.metadata.wix]
upgrade-guid = "5B17D308-C9EF-4B26-86F6-88EF5D0953DE"
path-guid = "22FB97BF-3F93-4AE5-B83C-A5BC12D1DBF1"
# Don't require users to agree to the license or EULA before installing.
license = false
eula = false