Skip to content

Add GHA CICD #1449

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 139 commits into from
Apr 13, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
139 commits
Select commit Hold shift + click to select a range
c969bec
refactor ~ remove unneeded mem::uninitialized() code
rivy Dec 22, 2019
1f137c2
refactor/polish ~ fix `cargo clippy` complaints (fatal/cast_ptr_align…
rivy Dec 28, 2019
1f5749e
refactor/polish ~ fix `cargo clippy` complaints (fatal/same if clause)
rivy Dec 20, 2019
6043ac1
refactor/polish ~ fix `cargo clippy` complaints (fatal/temporary_cstr…
rivy Dec 30, 2019
181c9d6
refactor/polish ~ fix `cargo clippy` complaints (fatal/unneeded clone)
rivy Dec 20, 2019
662db61
refactor/polish ~ fix `cargo clippy` complaints (fatal/unneeded drop)
rivy Dec 20, 2019
a9b1a03
refactor/polish ~ fix `cargo clippy` complaints (fatal/write_all)
rivy Dec 21, 2019
b276f47
refactor/polish ~ fix `cargo clippy` complaints (iter.collect => to_vec)
rivy Dec 28, 2019
768ed71
refactor/polish ~ fix `cargo clippy` complaints (use b'...' notation)
rivy Dec 28, 2019
493f5f1
refactor/polish ~ fix `cargo clippy` complaints (use `+=`/`-=` notation)
rivy Dec 28, 2019
ba5a243
refactor/polish ~ fix `cargo clippy` complaints (unneeded `_`)
rivy Dec 28, 2019
291d2f5
refactor/polish ~ fix `cargo clippy` complaints ('better' as `println…
rivy Dec 28, 2019
413c64f
refactor/polish ~ fix `cargo clippy` complaints ('better' as `println…
rivy Dec 28, 2019
c6817ae
refactor/polish ~ fix `cargo clippy` complaints (or_else)
rivy Dec 28, 2019
c6e9808
refactor/polish ~ fix `cargo clippy` complaints (match function signa…
rivy Dec 28, 2019
3c2e609
refactor/polish ~ fix `cargo clippy` complaints (use `values()`)
rivy Dec 28, 2019
88db11a
refactor/polish ~ fix `cargo clippy` complaints (negation instead of …
rivy Dec 27, 2019
1642933
refactor/polish ~ fix `cargo clippy` complaints (if is_none => as_ref…
rivy Dec 27, 2019
90a64a8
refactor/polish ~ fix `cargo clippy` complaints (for in => iter.take)
rivy Dec 27, 2019
2d95cfd
refactor/polish ~ fix `cargo clippy` complaints (remove allow unused_…
rivy Dec 27, 2019
4ddc65f
refactor/polish ~ fix `cargo clippy` complaints (String => str)
rivy Dec 27, 2019
d192ebe
refactor/polish ~ fix `cargo clippy` complaints (unwrap_or_else)
rivy Dec 27, 2019
8142ecf
refactor/polish ~ fix `cargo clippy` complaints (default/tests => `le…
rivy Dec 26, 2019
e676447
refactor/polish ~ fix `cargo clippy` complaints (`while let ... = som…
rivy Dec 26, 2019
3bff709
refactor/polish ~ fix `cargo clippy` complaints (use `starts_with()`)
rivy Dec 26, 2019
25b1f98
refactor/polish ~ fix `cargo clippy` complaints (unneeded `format`)
rivy Dec 28, 2019
bc558f3
refactor/polish ~ fix `cargo clippy` complaints (unneeded `mut`)
rivy Dec 26, 2019
1216378
refactor/polish ~ fix `cargo clippy` complaints (unneeded ref for cop…
rivy Dec 26, 2019
bf63682
refactor/polish ~ fix `cargo clippy` complaints (unneeded parens)
rivy Dec 26, 2019
3da2a69
refactor/polish ~ fix `cargo clippy` complaints (unneeded `String::fr…
rivy Dec 28, 2019
11d68d3
refactor/polish ~ fix `cargo clippy` complaints (number readability)
rivy Dec 26, 2019
ec5ca19
refactor/polish ~ fix `cargo clippy` complaints (char not string)
rivy Dec 26, 2019
a72422f
refactor/polish ~ fix `cargo clippy` complaints (Vec<> => [])
rivy Dec 28, 2019
ea8ed8d
refactor/polish ~ fix `cargo clippy` complaints (&Vec => &[])
rivy Dec 26, 2019
fa8540c
refactor/polish ~ fix `cargo clippy` complaints (DRY struct def)
rivy Dec 26, 2019
2e90c78
refactor/polish ~ fix `cargo clippy` complaints (redundant closure)
rivy Dec 26, 2019
564168c
refactor/polish ~ fix `cargo clippy` complaints (redundant clone)
rivy Dec 29, 2019
88a45a1
refactor/polish ~ fix `cargo clippy` complaints (redundant return)
rivy Dec 26, 2019
94c088f
refactor/polish ~ fix `cargo clippy` complaints (redundant return var…
rivy Dec 28, 2019
ab87a1a
refactor/polish ~ fix `cargo clippy` complaints ('better' ref indirec…
rivy Dec 26, 2019
8c97f0e
refactor/polish ~ fix `cargo clippy` complaints ('better' match indir…
rivy Dec 28, 2019
2db6fb2
refactor/polish ~ fix `cargo clippy` complaints (needless_lifetimes)
rivy Dec 29, 2019
b8eb763
refactor/polish ~ fix `cargo clippy` complaints (collapse else-if)
rivy Dec 26, 2019
b003d55
refactor/polish ~ fix `cargo clippy` complaints (collapse if-if)
rivy Dec 26, 2019
2931c80
refactor/polish ~ fix `cargo clippy` complaints (collapse equal if bl…
rivy Dec 27, 2019
bb15dcf
refactor/polish ~ fix `cargo clippy` complaints (use is_empty / is_none)
rivy Dec 26, 2019
8b18b7c
refactor/polish ~ fix `cargo clippy` complaints (use is_null)
rivy Dec 26, 2019
739c2d5
refactor/polish ~ fix `cargo clippy` complaints (use is_ok)
rivy Dec 26, 2019
600c404
refactor/polish ~ fix `cargo clippy` complaints (map => if let)
rivy Dec 27, 2019
3bddf84
refactor/polish ~ fix `cargo clippy` complaints (match => if let)
rivy Dec 26, 2019
98039f1
refactor/polish ~ fix `cargo clippy` complaints (String => str)
rivy Dec 26, 2019
fd8e5ac
refactor/polish ~ fix `cargo clippy` complaints (loop/match => while …
rivy Dec 26, 2019
82dc40f
refactor/polish ~ fix `cargo clippy` complaints (simplify enum elemen…
rivy Dec 21, 2019
55b3e4e
refactor/polish ~ fix `cargo clippy` complaints (simplify enum elemen…
rivy Dec 26, 2019
6612445
refactor/polish ~ fix `cargo clippy` complaints (remove `->()`)
rivy Dec 26, 2019
d343d53
refactor/polish ~ fix `cargo clippy` complaints (avoid `as ...`)
rivy Dec 26, 2019
33e5d8c
refactor/polish ~ fix `cargo clippy` complaints (into_iter => iter)
rivy Dec 26, 2019
de9d702
refactor/polish ~ fix `cargo clippy` complaints (use enumerate)
rivy Dec 26, 2019
f933c60
refactor/polish ~ fix `cargo clippy` complaints (filter_map => filter)
rivy Dec 26, 2019
aa2ed76
refactor/polish ~ fix `cargo clippy` complaints (unneeded transmute)
rivy Dec 26, 2019
3344060
refactor/polish ~ fix `cargo clippy` complaints (remove useless lint …
rivy Dec 28, 2019
8ec50b7
refactor/polish ~ fix `cargo clippy` complaints (inefficient `to_stri…
rivy Dec 29, 2019
7cc3571
refactor/polish ~ fix `cargo clippy` complaints (remove unit value as…
rivy Dec 29, 2019
2ef9c9a
refactor/polish ~ fix `cargo clippy` complaints (unnecessary_unwrap)
rivy Dec 29, 2019
248dfba
refactor/polish ~ fix `cargo clippy` complaints (comparison_chain)
rivy Dec 29, 2019
bffea95
refactor/polish ~ fix `cargo clippy` complaints (zero_ptr)
rivy Dec 29, 2019
37a3db1
refactor/polish ~ fix `cargo clippy` complaints (flat_map_identity)
rivy Dec 29, 2019
8f2cdcf
refactor/polish ~ fix `cargo clippy` complaints (trivially_copy_pass_…
rivy Dec 29, 2019
6131f6f
refactor/polish ~ fix `cargo clippy` complaints (borrowed_box)
rivy Dec 29, 2019
1deac8d
refactor/polish ~ fix `cargo clippy` complaints (new_ret_no_self)
rivy Dec 29, 2019
58779be
refactor/polish ~ fix `cargo clippy` complaints (transmute_ptr_to_ptr)
rivy Dec 29, 2019
37c9b0e
refactor/polish ~ fix `cargo clippy` complaints ('better' ref use/top…
rivy Dec 27, 2019
5094d6f
refactor/polish ~ fix `cargo clippy` complaints (allow complexity)
rivy Dec 26, 2019
784887c
refactor/polish ~ fix `cargo clippy` complaints (allow comparison_chain)
rivy Dec 29, 2019
5241eca
refactor/polish ~ fix `cargo clippy` complaints (allow comparison_cha…
rivy Dec 29, 2019
a90e1ab
refactor/polish ~ fix `cargo clippy` complaints (allow enum_variant_n…
rivy Dec 26, 2019
44a60f7
refactor/polish ~ fix `cargo clippy` complaints (allow 'let_and_return')
rivy Dec 26, 2019
99ce03f
refactor/polish ~ fix `cargo clippy` complaints (allow many_single_ch…
rivy Dec 26, 2019
df68c39
refactor/polish ~ fix `cargo clippy` complaints (allow map_clone)
rivy Dec 29, 2019
cc49983
refactor/polish ~ fix `cargo clippy` complaints (allow missing_safety…
rivy Dec 30, 2019
e80970c
refactor/polish ~ fix `cargo clippy` complaints (allow module_inception)
rivy Dec 28, 2019
b8c0711
refactor/polish ~ fix `cargo clippy` complaints (allow ptr_arg)
rivy Dec 30, 2019
522d3ae
refactor/polish ~ fix `cargo clippy` complaints (allow ptr_arg)
rivy Dec 30, 2019
6230ab3
refactor/polish ~ fix `cargo clippy` complaints (allow range_plus_one…
rivy Dec 29, 2019
6c7c478
refactor/polish ~ fix `cargo clippy` complaints (allow single_match)
rivy Dec 26, 2019
372ddf9
refactor/polish ~ fix `cargo clippy` complaints (allow too_many_args)
rivy Dec 26, 2019
d82a170
refactor/polish ~ fix `cargo clippy` complaints (allow unreadable_lit…
rivy Dec 26, 2019
082f952
refactor/polish ~ fix `cargo clippy` complaints (allow useless_let_if…
rivy Dec 30, 2019
a6bdad3
refactor/polish ~ fix `cargo clippy` complaints (allow deprecated mem…
rivy Dec 30, 2019
b4866af
refactor/polish ~ fix `cargo clippy` complaints (deprecated uint64_t)
rivy Dec 31, 2019
daecc56
refactor/polish ~ fix `cargo clippy` complaints (unwrap_or_else)
rivy Dec 31, 2019
15722e3
refactor/polish ~ fix `cargo clippy` complaints (unused imports)
rivy Jan 28, 2020
5af8503
`cargo fmt`
rivy Jan 28, 2020
b7a3c4d
maint/build ~ refactor feature strategy (allows simple `cargo build` …
rivy Jan 1, 2020
a529d4c
maint/CICD ~ refactor/fix Travis CI to use new 'feature' set
rivy Jan 28, 2020
ca7d565
maint/build ~ add dev helper scripts to derive available utils for fe…
rivy Jan 26, 2020
0083aa9
maint/build ~ much improved `cargo-make` build file (Makefile.toml)
rivy Jan 28, 2020
83a2c9d
maint/CICD ~ minor AppVeyor changes (spelling/comments)
rivy Jan 28, 2020
ebc29e8
maint/CICD ~ add GitHub:Actions (GHA) CICD
rivy Jan 28, 2020
1d26e90
fix 32-bit/i686 target builds
rivy Jan 1, 2020
3ae3d11
upgrade nix (0.13.0 => 0.13.1); fixes arm build failure
rivy Jan 1, 2020
bcc1cc0
tests ~ fix CICD 'macos' test variation
rivy Jan 1, 2020
6adddcf
tests ~ fix CICD 'linux' test variations (whitespace variations)
rivy Jan 1, 2020
3ec47ff
tests ~ refactor real{link,path} tests for easier diagnosis of failures
rivy Jan 2, 2020
e894214
fix forced MinSRV increase (using locked 'backtrace' version)
rivy Jan 3, 2020
b5d541a
refactor/polish ~ inhibit useless warning (within 'tests/tests.rs')
rivy Jan 30, 2020
c4a69f2
refactor/polish ~ fix `cargo clippy` complaints (allow trivially_copy…
rivy Feb 7, 2020
75f05df
refactor/polish ~ fix `cargo clippy` complaints (redundant_static_lif…
rivy Feb 7, 2020
9b145bb
refactor/polish ~ fix `cargo clippy` complaints (unreadable_literal)
rivy Feb 7, 2020
84e26b3
refactor/polish ~ fix `cargo clippy` complaints (or_fun_call)
rivy Feb 7, 2020
0fdf27c
refactor/polish ~ fix `cargo clippy` complaints (iter_skip_next)
rivy Feb 7, 2020
080cbb5
refactor/polish ~ fix `cargo clippy` complaints (string_lit_as_bytes)
rivy Feb 7, 2020
c484fb8
refactor/polish ~ fix `cargo clippy` complaints (missing_safety_doc; …
rivy Feb 7, 2020
0635c5f
refactor/polish ~ fix `cargo clippy` complaints (unused_parens)
rivy Feb 7, 2020
ce0bb21
refactor/polish ~ fix `cargo clippy` complaints (deprecated std::erro…
rivy Feb 7, 2020
ecc895e
refactor/polish ~ fix `cargo clippy` complaints (iter_nth_zero)
rivy Apr 3, 2020
5224c3c
refactor/polish ~ fix `rustc` complaints (unused_parens)
rivy Apr 3, 2020
0cf704a
refactor/polish ~ fix `cargo clippy` complaints (wildcard_in_or_patt)
rivy Apr 3, 2020
9675add
refactor/polish ~ fix `cargo clippy` complaints (skip_while_next)
rivy Apr 4, 2020
7e15375
refactor ~ clean up main directory (move '{mk,uu}main.rs' into src/#c…
rivy Jan 27, 2020
641017f
maint/CICD ~ improve PR support for AppVeyor CI builds
rivy Feb 10, 2020
b57ee7e
maint/CICD ~ fix features option for GHA
rivy Mar 10, 2020
69408fc
maint/CICD ~ fix MinSRV testing (use correct toolchain)
rivy Mar 18, 2020
05c8294
maint/CICD ~ generalize README and LICENSE matches for use in dpkg bu…
rivy Mar 18, 2020
4cf8487
maint/CICD ~ improve tooling info display and include build dependenc…
rivy Apr 8, 2020
ab9da0a
maint/CICD ~ fix GITHUB_REF parsing
rivy Apr 10, 2020
97de0df
maint/build ~ improve `cargo-make` build file organization and help text
rivy Apr 7, 2020
57ef582
maint/build ~ polish and comment 'features'
rivy Apr 8, 2020
ab9eb31
maint/build ~ refactor dependencies into sorted order
rivy Apr 8, 2020
1c97a29
maint/build ~ refactor dependency specifications (sorted, single line…
rivy Apr 8, 2020
78d55f0
refactor/polish ~ fix `cargo clippy` complaints (fix/remove allow ran…
rivy Apr 4, 2020
156502a
refactor ~ reduce excessive use of scope prefixes
rivy Apr 4, 2020
ecb8f28
refactor ~ change repair of 'fix `cargo clippy` complaints (fatal/sam…
rivy Apr 7, 2020
84f05f2
expand: refactor/polish ~ simplify if condition
rivy Apr 4, 2020
3e3dff3
ls: refactor ~ improve line bundling of imports
rivy Apr 4, 2020
d704fb2
printf: refactor ~ remove redundant string allocation
rivy Apr 4, 2020
b8da0d7
maint/docs ~ add license notation to all workspace packages
rivy Apr 8, 2020
7eeb58a
maint/docs ~ add spell-checker exceptions
rivy Apr 10, 2020
6a18d7f
update ~ (maint!) use fixed/patched uucore (v0.0.2); await upgrade up…
rivy Jan 1, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions .appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# spell-checker:words POSIX repo SDK SDKs toolchain toolchains
# spell-checker:ignore uutils ARCH ABI BACKTRACE BINDIR cl COMNTOOLS dllcrt findstr maint MINGW MINGWDIR mkdir MSVC MSYS rustc rustlib rustup USERPROFILE vcvarsall
# spell-checker:words POSIX SDK SDKs repo toolchain toolchains
# spell-checker:ignore ABI ARCH BACKTRACE BINDIR COMNTOOLS MINGW MINGWDIR MSVC MSYS USERPROFILE cl dllcrt findstr maint mkdir rustc rustlib rustup targetting uutils vcvarsall

version: "{build} ~ {branch}"

Expand All @@ -21,8 +21,8 @@ matrix:
environment:
global:
FEATURES: "windows"
BUILD_OPTIONS: "--no-default-features"
TEST_OPTIONS: "--no-default-features --no-fail-fast"
BUILD_OPTIONS: ""
TEST_OPTIONS: "--no-fail-fast"

matrix:
# minimum version
Expand Down Expand Up @@ -69,6 +69,7 @@ environment:
# - CHANNEL: nightly
# ARCH: x86_64
# ABI: gnu
# FEATURES: "windows nightly"
# * specific gnu compilers
- CHANNEL: stable
ARCH: i686
Expand All @@ -83,8 +84,8 @@ environment:
install:
# force branch checkout (if knowable), then reset to the specific commit ## (can be needed for accurate code coverage info)
# * this allows later apps to see the branch name using standard `git branch` operations, yet always builds the correct specific commit
# * ref: <https://github.com/appveyor/ci/issues/1606>[`@`](https://archive.is/RVpnF)
- if DEFINED APPVEYOR_REPO_BRANCH if /I "%APPVEYOR_REPO_SCM%"=="git" ( git checkout "%APPVEYOR_REPO_BRANCH%" 2>NUL & git reset --hard "%APPVEYOR_REPO_COMMIT%" )
# * ref: <https://github.com/appveyor/ci/issues/1606>[`@`](https://archive.is/RVpnF) ; note: `git branch -a` may be helpful for debugging edge cases
- if DEFINED APPVEYOR_REPO_BRANCH if /I "%APPVEYOR_REPO_SCM%"=="git" ( git checkout "%APPVEYOR_REPO_BRANCH%" 2>NUL & git reset --hard FETCH_HEAD 2>NUL || git reset --hard "%APPVEYOR_REPO_COMMIT%" )
# ensure CWD is project main directory
- cd "%APPVEYOR_BUILD_FOLDER%"
# create a working area
Expand Down
361 changes: 361 additions & 0 deletions .github/workflows/CICD.yml

Large diffs are not rendered by default.

11 changes: 6 additions & 5 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,21 +19,22 @@ matrix:
fast_finish: true
include:
- rust: 1.31.0
env: FEATURES=unix
- rust: stable
os: linux
env: TEST_INSTALL=true
env: FEATURES=unix TEST_INSTALL=true
- rust: stable
os: osx
env: TEST_INSTALL=true
env: FEATURES=macos TEST_INSTALL=true
- rust: nightly
os: linux
env: FEATURES=nightly
env: FEATURES=nightly,unix
- rust: nightly
os: osx
env: FEATURES=nightly
env: FEATURES=nightly,macos
- rust: nightly
os: linux
env: FEATURES=nightly,redox CC=x86_64-unknown-redox-gcc CARGO_ARGS='--no-default-features --target=x86_64-unknown-redox' REDOX=1
env: FEATURES=nightly,feat_os_unix_redox CC=x86_64-unknown-redox-gcc CARGO_ARGS='--no-default-features --target=x86_64-unknown-redox' REDOX=1

cache:
directories:
Expand Down
8 changes: 4 additions & 4 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

145 changes: 86 additions & 59 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,92 +6,122 @@ build = "build.rs"
autotests = false

[features]
unix = [
default = [ "feat_common_core" ]
## OS feature shortcodes
macos = [ "feat_os_unix" ]
unix = [ "feat_os_unix" ]
windows = [ "feat_os_windows" ]
## project-specific feature shortcodes
nightly = []
test_unimplemented = []
## feature sets
# "feat_os_unix" == set of utilities which can be built/run on modern/usual *nix platforms
feat_os_unix = [
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Personally, I would prefer if the features didn't start with feat_. If you want them to be hidden, I think simply starting or ending them with an underscore looks nicer.

Copy link
Member Author

@rivy rivy Apr 3, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything starting with feat_ is named that way so that the build.rs script can differentiate between crates included as dependencies and true feature sets modifying the build (excepting commonly used features such as "default" and "nightly" and the OS feature names ["macos", "windows", "unix"]). After some thought and experimentation, I selected the "feat_" as the differentiating prefix. It's a moderate length prefix that will likely never collide with a dependency name and simultaneously hints to the dev what it is and how it's being used. Although, "_" could likely also be used, I avoided it for those reasons and as more confusing to a newcomer to the code about its use and more difficult to see when looking at the code.

Additionally, can "test_unimplemented" be removed? I don't see it being actually used anywhere.

"feat_common",
"feat_os_unix_musl",
"feat_os_unix_utmpx_required",
#
"stdbuf",
]
# "feat_os_unix_fuchsia" == set of utilities which can be built/run on the "Fuschia" OS (refs: <https://fuchsia.dev>; <https://en.wikipedia.org/wiki/Google_Fuchsia>)
feat_os_unix_fuchsia = [
"feat_common_core",
#
"chgrp",
"chmod",
"chown",
"chroot",
"du",
"groups",
"hostid",
"id",
"install",
"kill",
"logname",
"mkfifo",
"mknod",
"nice",
"numfmt",
"nohup",
"pathchk",
"pinky",
"stat",
"stdbuf",
"timeout",
"touch",
"tty",
"uname",
"unlink",
"uptime",
"users",
"who",

"generic"
]
windows = ["generic"]
windows_legacy = [
"arch",
"nproc",
"sync",
"touch",
"whoami",

"redox_generic"
]
# Feature "fuchsia" contains the exclusive list of utilities
# that can be compiled and run on Fuchsia. Should be built
# with --no-default-features when selecting this feature.
# TODO: merge with "unix" to avoid duplication once we support
# all utilities in that feature.
fuchsia = [
# unix utilities
# "feat_os_unix_gnueabihf" == set of utilities which can be built/run on the "arm-unknown-linux-gnueabihf" target (ARMv6 Linux [hardfloat])
feat_os_unix_gnueabihf = [
"feat_common",
"feat_os_unix_musl",
"feat_os_unix_utmpx_required",
]
# "feat_os_unix_musl" == set of utilities which can be built/run on targets binding to the "musl" library (ref: <https://musl.libc.org/about.html>)
feat_os_unix_musl = [
"feat_common",
#
"chgrp",
"chmod",
"chown",
"chroot",
"du",
"groups",
"hostid",
"id",
"install",
"kill",
"logname",
"mkfifo",
"mknod",
"nice",
"numfmt",
"nohup",
"pathchk",
"stdbuf",
"stat",
"timeout",
"touch",
"tty",
"uname",
"unlink",

# All generic utilities
"generic"
]
generic = [
# "feat_os_unix_redox" == set of utilities which can be built/run on "Redox OS" (refs: <https://www.redox-os.org>; <https://en.wikipedia.org/wiki/Redox_(operating_system)>)
feat_os_unix_redox = [
"feat_common_core",
#
"uname",
"chmod",
"install",
]
# "feat_os_unix_utmpx_required" == set of utilites requiring utmp/utmpx support
# * ref: <https://wiki.musl-libc.org/faq.html#Q:-Why-is-the-utmp/wtmp-functionality-only-implemented-as-stubs?>
feat_os_unix_utmpx_required = [
"pinky",
"uptime",
"users",
"who",
]
# "feat_os_windows" == set of utilities which can be built/run on modern/usual windows platforms
feat_os_windows = [
"feat_common", ## == "feat_os_windows_legacy" + "hostname"
]
# "feat_os_windows_legacy" == slightly restricted set of utilities which can be built/run on early windows platforms (eg, "WinXP")
feat_os_windows_legacy = [
"feat_common_core",
#
"arch",
"nproc",
"sync",
"touch",
"whoami",
]
## (common/core) feature sets
# "feat_common" == expanded set of utilities which can be built/run on the usual rust "tier 1" target platforms (ref: <https://forge.rust-lang.org/release/platform-support.html>)
feat_common = [
"feat_common_core",
#
"arch",
"hostname",
"nproc",
"sync",
"touch",
"whoami",
"redox_generic"
]
# Feature "redox"/"redox_generic" contains the exclusive list of utilities
# that can be compiled and run on redox. Should be built
# with --no-default-features when selecting this feature.
# TODO: merge with "generic" to avoid duplication once we support
# all utilities in that feature.
redox_generic = [

# And maybe all generic utilities
# "feat_common_core" == baseline core set of utilities which can be built/run on most targets
feat_common_core = [
"base32",
"base64",
"basename",
Expand Down Expand Up @@ -153,20 +183,11 @@ redox_generic = [
"wc",
"yes",
]
redox = [
"uname",
"chmod",
"install",
"redox_generic"
]
test_unimplemented = []
nightly = []
default = ["unix"]

[workspace]

[dependencies]
uucore = "0.0.1"
uucore = "0.0.2"
arch = { optional=true, path="src/arch" }
base32 = { optional=true, path="src/base32" }
base64 = { optional=true, path="src/base64" }
Expand Down Expand Up @@ -260,16 +281,19 @@ wc = { optional=true, path="src/wc" }
who = { optional=true, path="src/who" }
whoami = { optional=true, path="src/whoami" }
yes = { optional=true, path="src/yes" }
#
# * transitive dependency via 'failure'; pin to <= v0.3.30 to avoid increasing MinSRV to v1.33.0
backtrace = ">= 0.3.3, <= 0.3.30"

[dev-dependencies]
time = "0.1.42"
filetime = "0.2.5"
lazy_static = "1.3.0"
libc = "0.2.62"
regex = "1.0.3"
rand = "0.6.5"
regex = "1.0.3"
tempdir = "0.3.7"
time = "0.1.42"
unindent = "0.1.3"
lazy_static = "1.3.0"

[target.'cfg(unix)'.dev-dependencies]
# FIXME: this should use the normal users crate, but it conflicts with the users utility
Expand All @@ -282,3 +306,6 @@ path = "src/uutils/uutils.rs"

[[test]]
name = "tests"

[patch.crates-io]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pretty sure this has been merged, so get rid of this. I (or you, once you accept the invite) will bump the uucore version to 0.0.2.

Copy link
Member Author

@rivy rivy Apr 3, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It didn't work (maybe b/c of caching?) when I tried use the crate directly after the PR correcting the problem was merged.

I'll remove this in a future PR once uucore is definitively accessible with the corrective patch in place (eg, after the 0.0.2 release).

uucore = { git = "https://github.com/rivy/rust.uucore", tag = "0.0.2" }
Loading