Compare commits

...

52 Commits

Author SHA1 Message Date
J
870af4adad Merge pull request #14 from babichjacob/release-plz-2024-10-06T03-53-09Z
chore: release
2024-10-05 23:57:38 -04:00
release-plz-for-ac-qu-ai-nt[bot]
179eeab601 chore: release 2024-10-06 03:53:09 +00:00
J
feb0d150c4 Merge pull request #13 from babichjacob/release-plz-2024-10-06T03-44-56Z
chore: release v0.0.1
2024-10-05 23:52:25 -04:00
J / Jacob Babich
dc17a8c5cd ci: compile gui-eframe and tui-ratatui for their respective releases 2024-10-05 23:49:41 -04:00
J / Jacob Babich
900b39d29b ci: run the prerequisite installation step when compiling binaries for release 2024-10-05 23:49:41 -04:00
release-plz-for-ac-qu-ai-nt[bot]
4e159f7b71 chore: release 2024-10-06 03:45:14 +00:00
J
87ebfed048 Merge pull request #12 from babichjacob/release-plz-2024-10-06T03-37-49Z
chore: release v0.0.1
2024-10-05 23:44:55 -04:00
J / Jacob Babich
9f34e73729 chore: add package descriptions so that they can actually be published 2024-10-05 23:44:34 -04:00
release-plz-for-ac-qu-ai-nt[bot]
98224e6008 chore: release 2024-10-06 03:37:50 +00:00
J
4ea63f731e Merge pull request #11 from babichjacob/release-plz-2024-10-06T03-28-10Z
chore: release
2024-10-05 23:37:29 -04:00
release-plz-for-ac-qu-ai-nt[bot]
062c31bd9a chore: release 2024-10-06 03:34:57 +00:00
J / Jacob Babich
7d76b61c76 style: run cargo fmt 2024-10-05 23:34:35 -04:00
J / Jacob Babich
83fa6398cf ci: move the description of the checking / building command (which varies from whether they are being run for minimal or for latest (typically) versions of dependencies) to the job name instead of the command name 2024-10-05 23:34:20 -04:00
J / Jacob Babich
18cb5043cf feat: initialize core, gui-eframe, and tui-ratatui crates and use them in the multibinary 2024-10-05 23:27:47 -04:00
J / Jacob Babich
dbccf23a50 ci: incorporate minimal dependency versioning checking / building into the main job 2024-10-05 19:48:01 -04:00
J / Jacob Babich
a2c3013fd5 ci: can't use the matrix strategy for determining which binary to compile and upload, so copying and pasting instead unfortunately until https://github.com/actions/runner/issues/1985 is fixed 2024-10-05 19:31:29 -04:00
J
1175fa22d6 Merge pull request #10 from babichjacob/release-plz-2024-10-05T07-02-29Z
Some checks are pending
Check, build, and test / formatting (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[install_prerequisite:sudo apt-get update && sudo apt-get install gcc-aarch64-linux-gnu runner:ubuntu-latest target:aarch64-unknown-linux-gnu]) (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[install_prerequisite:sudo apt-get update && sudo apt-get install gcc-aarch64-linux-gnu runner:ubuntu-latest target:aarch64-unknown-linux-musl]) (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-musl]) (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:aarch64-pc-windows-msvc]) (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:x86_64-pc-windows-gnu]) (push) Waiting to run
Check, build, and test / Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:aarch64-apple-darwin]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:macos-latest target:x86_64-apple-darwin]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-gnu]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:ubuntu-latest target:x86_64-unknown-linux-musl]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:x86_64-pc-windows-gnu]) (push) Waiting to run
Check, build, and test / Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) (map[runner:windows-latest target:x86_64-pc-windows-msvc]) (push) Waiting to run
Check, build, and test / minimal-dependencies-check-build-and-test (push) Waiting to run
Release-plz / Release-plz (push) Waiting to run
chore: release
2024-10-05 03:03:09 -04:00
release-plz-for-ac-qu-ai-nt[bot]
13b7053386 chore: release 2024-10-05 07:02:30 +00:00
J / Jacob Babich
972129536f chore: change Hello, world! to What's up world? to allow me to cut a release 2024-10-05 03:01:41 -04:00
J / Jacob Babich
ae7de503a4 ci: try wrapping the if condition to make sure the release matches with ${{ and }} 2024-10-05 03:00:05 -04:00
J
21df8d1781 Merge pull request #9 from babichjacob/release-plz-2024-10-05T06-53-32Z
chore(ac-qu-ai-nt): release v0.0.6
2024-10-05 02:57:35 -04:00
release-plz-for-ac-qu-ai-nt[bot]
e5707cb106 chore: release 2024-10-05 06:55:34 +00:00
J / Jacob Babich
7f450568f2 fix: cover the new cases of Command for GuiEframe and TuiRatatui 2024-10-05 02:55:12 -04:00
J / Jacob Babich
e2bf39e2c1 chore: correctly add gui-eframe and tui-ratatui as features this time around 2024-10-05 02:53:03 -04:00
J / Jacob Babich
e96081486a chore: add gui-eframe and tui-ratatui as subcommands with aliases gui and tui respectively 2024-10-05 02:50:10 -04:00
J / Jacob Babich
63ffbf9f1a chore: add gui-eframe and tui-ratatui as features 2024-10-05 02:49:53 -04:00
J / Jacob Babich
65bdf6dd04 ci: try single quoting 2024-10-05 02:47:09 -04:00
J
43682dc3d3 Merge pull request #8 from babichjacob/release-plz-2024-10-05T06-40-33Z
chore(ac-qu-ai-nt): release v0.0.5
2024-10-05 02:43:56 -04:00
release-plz-for-ac-qu-ai-nt[bot]
c25e628aa9 chore: release 2024-10-05 06:40:34 +00:00
J / Jacob Babich
1177376450 chore!: put accessing the cli under a subcommand like the README suggests it would be 2024-10-05 02:40:09 -04:00
J / Jacob Babich
f37d56edba ci: only compile for releases for the relevant crate 2024-10-05 02:28:19 -04:00
J / Jacob Babich
1854dc429c ci: compile binaries for various targets on release 2024-10-05 01:54:42 -04:00
J / Jacob Babich
3e69d65bcc ci: aim to increase cache reuse 2024-10-05 01:53:12 -04:00
J / Jacob Babich
4c04f21dcb ci: string quote the paths because starting with * was trying to reference a YAML alias
Some checks are pending
Release-plz / Release-plz (push) Waiting to run
2024-10-04 22:05:31 -04:00
J / Jacob Babich
c0ec64f06c ci: prevent irrelevant file changes from triggering the check, build, and test workflow 2024-10-04 19:22:16 -04:00
J / Jacob Babich
70e20e2e04 ci: remove requirement to build for aarch64-pc-windows-gnullvm until I can understand how to do it in GitHub Actions 2024-10-04 18:52:08 -04:00
J / Jacob Babich
12107daf6b ci: install Nextest for the test job (because I accidentally deleted it) 2024-10-04 18:09:10 -04:00
J / Jacob Babich
839f219469 ci: turn fail-fast back on 2024-10-04 18:07:24 -04:00
J / Jacob Babich
56ad1de3d4 ci: phrasing change from "direct minimal dependencies" to "minimal direct dependencies" 2024-10-04 18:06:50 -04:00
J / Jacob Babich
30dee5efa7 ci: lower all job timeouts because they shouldn't reasonably take that long and I would like it to be raised as a problem with my project if it ever starts exceeding the time specified 2024-10-04 18:06:02 -04:00
J / Jacob Babich
52297c7b43 ci: split testing off from checking and building 2024-10-04 18:04:31 -04:00
J / Jacob Babich
b1520ae76b ci: specify prerequisite_install for aarch64 linux like I meant to (whereas it was on x86_64-unknown-linux-gnu before) 2024-10-04 17:55:18 -04:00
J / Jacob Babich
ac42b4861c ci: use sudo for prerequisite installation 2024-10-04 17:53:04 -04:00
J / Jacob Babich
499562853c ci: write a cleaner name for the check / build / test job 2024-10-04 17:51:50 -04:00
J / Jacob Babich
d6922c30c5 ci: specify CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER too 2024-10-04 17:50:15 -04:00
J / Jacob Babich
b5935b8ab5 ci: try having prerequisite installation step where needed 2024-10-04 17:49:19 -04:00
J / Jacob Babich
5e0a2326ca ci: try working around https://github.com/rust-lang/cargo/issues/4133 2024-10-04 17:25:06 -04:00
J / Jacob Babich
1493425540 ci: I must've hallucinated aarch64-pc-windows-gnu because it seems to actually be aarch64-pc-windows-gnullvm 2024-10-04 17:12:46 -04:00
J / Jacob Babich
576a8e99c0 ci: rewrite step for installing Rust to specify the toolchain as an argument rather than - where it seems to be invalid when using a variable - the uses: revision 2024-10-04 17:10:03 -04:00
J / Jacob Babich
01ce1e85a8 ci: it seems aarch64-pc-windows-gnu requires a nightly toolchain for now 2024-10-04 17:06:35 -04:00
J / Jacob Babich
cd788e1ab8 ci: split checking formatting off into its own job that only needs to run once 2024-10-04 17:01:45 -04:00
J / Jacob Babich
65487b2378 ci: see if this basic matrix of build targets and runners works for checking, building, and testing 2024-10-04 16:59:08 -04:00
21 changed files with 512 additions and 41 deletions

View File

@@ -3,6 +3,14 @@ name: Check, build, and test
on:
push:
branches: ["main"]
# This workflow is definitely expensive for GitHub,
# so let's not let files that won't affect the project's ability to build and test trigger it
paths-ignore:
- ".github/**"
- "**/.gitignore"
- "**/CHANGELOG.md"
- "**/README.md"
- "**/LICENSE-*"
pull_request:
branches: ["main"]
@@ -10,53 +18,153 @@ env:
CARGO_TERM_COLOR: always
jobs:
check-build-and-test:
formatting:
runs-on: ubuntu-latest
timeout-minutes: 15
timeout-minutes: 2
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust toolchain
- name: Install stable Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install Nextest
uses: taiki-e/install-action@cargo-nextest
- uses: Swatinem/rust-cache@v2
- name: Check
run: cargo check --verbose
- name: Formatting
run: cargo fmt --check --verbose
- name: Build
run: cargo build --verbose
check-and-build:
strategy:
matrix:
minimal_or_latest:
- build_command: cargo minimal-versions build --direct --verbose
check_command: cargo minimal-versions check --direct --verbose
job_name_suffix: with minimal versions of direct dependencies
- name: Test
run: cargo nextest run
- build_command: cargo build --verbose
check_command: cargo check --verbose
job_name_suffix: (with latest (typically) versions of dependencies)
minimal-dependencies-check-build-and-test:
runs-on: ubuntu-latest
timeout-minutes: 15
supporteds:
- runner: macos-latest
target: aarch64-apple-darwin
- runner: macos-latest
target: x86_64-apple-darwin
- install_prerequisite: sudo apt-get update && sudo apt-get install gcc-aarch64-linux-gnu
runner: ubuntu-latest
target: aarch64-unknown-linux-gnu
- install_prerequisite: sudo apt-get update && sudo apt-get install gcc-aarch64-linux-gnu
runner: ubuntu-latest
target: aarch64-unknown-linux-musl
- runner: ubuntu-latest
target: x86_64-unknown-linux-gnu
- runner: ubuntu-latest
target: x86_64-unknown-linux-musl
# I would like to support this but I don't know how to install the dependencies to be able to
# - runner: windows-latest
# target: aarch64-pc-windows-gnullvm
- runner: windows-latest
target: aarch64-pc-windows-msvc
- runner: windows-latest
target: x86_64-pc-windows-gnu
- runner: windows-latest
target: x86_64-pc-windows-msvc
name: Check and build ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }}) ${{ matrix.minimal_or_latest.job_name_suffix }}
runs-on: ${{ matrix.supporteds.runner }}
timeout-minutes: 5
env:
# https://github.com/rust-lang/stacker/issues/80#issuecomment-1547991131
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER: aarch64-linux-gnu-gcc # TODO: shouldn't this be something to do with musl, not gcc?
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust toolchain
- name: Install prerequisite build chain
if: matrix.supporteds.install_prerequisite
run: ${{ matrix.supporteds.install_prerequisite }}
- name: Install stable Rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install cargo-minimal-versions
with:
targets: ${{ matrix.supporteds.target }}
- name: Install cargo-hack
uses: taiki-e/install-action@cargo-hack
- name: Install cargo-minimal-versions
uses: taiki-e/install-action@cargo-minimal-versions
- uses: Swatinem/rust-cache@v2
with:
shared-key: ${{ matrix.supporteds.target }}
cache-on-failure: "true"
- name: Check (direct minimal dependencies)
run: cargo minimal-versions check --direct --workspace
- name: Check
run: ${{ matrix.minimal_or_latest.check_command }} --target ${{ matrix.supporteds.target }}
- name: Build (direct minimal dependencies)
run: cargo minimal-versions build --direct --workspace
- name: Build
run: ${{ matrix.minimal_or_latest.build_command }} --target ${{ matrix.supporteds.target }}
- name: Test (direct minimal dependencies)
run: cargo minimal-versions test --direct --workspace
test:
strategy:
matrix:
supporteds:
- runner: macos-latest
target: aarch64-apple-darwin
- runner: macos-latest
target: x86_64-apple-darwin
# Not able to be tested in GitHub Actions (without emulation, at least)
# - runner: ubuntu-latest
# target: aarch64-unknown-linux-gnu
# Not able to be tested in GitHub Actions (without emulation, at least)
# - runner: ubuntu-latest
# target: aarch64-unknown-linux-musl
- runner: ubuntu-latest
target: x86_64-unknown-linux-gnu
- runner: ubuntu-latest
target: x86_64-unknown-linux-musl
# Not able to be tested in GitHub Actions (without emulation, at least)
# - runner: windows-latest
# target: aarch64-pc-windows-gnullvm
# Not able to be tested in GitHub Actions (without emulation, at least)
# - runner: windows-latest
# target: aarch64-pc-windows-msvc
- runner: windows-latest
target: x86_64-pc-windows-gnu
- runner: windows-latest
target: x86_64-pc-windows-msvc
name: Test ${{ matrix.supporteds.target }} (on ${{ matrix.supporteds.runner }})
runs-on: ${{ matrix.supporteds.runner }}
timeout-minutes: 5
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install stable Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.supporteds.target }}
- name: Install Nextest
uses: taiki-e/install-action@cargo-nextest
- uses: Swatinem/rust-cache@v2
- name: Test
run: cargo nextest run --target ${{ matrix.supporteds.target }}

View File

@@ -9,21 +9,92 @@ on:
jobs:
compile-and-publish:
runs-on: ubuntu-latest
timeout-minutes: 15
strategy:
matrix:
supporteds:
- runner: macos-latest
target: aarch64-apple-darwin
- runner: macos-latest
target: x86_64-apple-darwin
- install_prerequisite: sudo apt-get update && sudo apt-get install gcc-aarch64-linux-gnu
runner: ubuntu-latest
target: aarch64-unknown-linux-gnu
- install_prerequisite: sudo apt-get update && sudo apt-get install gcc-aarch64-linux-gnu
runner: ubuntu-latest
target: aarch64-unknown-linux-musl
- runner: ubuntu-latest
target: x86_64-unknown-linux-gnu
- runner: ubuntu-latest
target: x86_64-unknown-linux-musl
# I would like to support this but I don't know how to install the dependencies to be able to
# - runner: windows-latest
# target: aarch64-pc-windows-gnullvm
- runner: windows-latest
target: aarch64-pc-windows-msvc
- runner: windows-latest
target: x86_64-pc-windows-gnu
- runner: windows-latest
target: x86_64-pc-windows-msvc
name: Compile ${{ matrix.supporteds.target }} for release (on ${{ matrix.supporteds.runner }})
runs-on: ${{ matrix.supporteds.runner }}
timeout-minutes: 10
env:
# https://github.com/rust-lang/stacker/issues/80#issuecomment-1547991131
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER: aarch64-linux-gnu-gcc
CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER: aarch64-linux-gnu-gcc # TODO: shouldn't this be something to do with musl, not gcc?
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install Rust toolchain
- name: Install prerequisite build chain
if: matrix.supporteds.install_prerequisite
run: ${{ matrix.supporteds.install_prerequisite }}
- name: Install stable Rust toolchain
uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
with:
shared-key: ${{ matrix.supporteds.target }}
cache-on-failure: "true"
- name: Build for release
run: cargo build --release --verbose
- uses: taiki-e/upload-rust-binary-action@v1
# Have to do it like this because of https://github.com/actions/runner/issues/1985
- if: startsWith(github.event.release.tag_name, 'ac-qu-ai-nt-v')
uses: taiki-e/upload-rust-binary-action@v1
with:
bin: ac-qu-ai-nt
token: ${{ secrets.GITHUB_TOKEN }}
target: ${{ matrix.supporteds.target }}
- if: startsWith(github.event.release.tag_name, 'ac-qu-ai-nt-cli-clap-v')
uses: taiki-e/upload-rust-binary-action@v1
with:
bin: ac-qu-ai-nt-cli-clap
token: ${{ secrets.GITHUB_TOKEN }}
target: ${{ matrix.supporteds.target }}
- if: startsWith(github.event.release.tag_name, 'ac-qu-ai-nt-gui-eframe-v')
uses: taiki-e/upload-rust-binary-action@v1
with:
bin: ac-qu-ai-nt-gui-eframe
token: ${{ secrets.GITHUB_TOKEN }}
target: ${{ matrix.supporteds.target }}
- if: startsWith(github.event.release.tag_name, 'ac-qu-ai-nt-tui-ratatui-v')
uses: taiki-e/upload-rust-binary-action@v1
with:
bin: ac-qu-ai-nt-tui-ratatui
token: ${{ secrets.GITHUB_TOKEN }}
target: ${{ matrix.supporteds.target }}

27
Cargo.lock generated
View File

@@ -4,9 +4,11 @@ version = 3
[[package]]
name = "ac-qu-ai-nt"
version = "0.0.4"
version = "0.0.9"
dependencies = [
"ac-qu-ai-nt-cli-clap",
"ac-qu-ai-nt-gui-eframe",
"ac-qu-ai-nt-tui-ratatui",
"clap",
"dirs-next",
"tracing-subscriber",
@@ -14,12 +16,33 @@ dependencies = [
[[package]]
name = "ac-qu-ai-nt-cli-clap"
version = "0.0.4"
version = "0.0.5"
dependencies = [
"clap",
"tracing",
]
[[package]]
name = "ac-qu-ai-nt-core"
version = "0.0.2"
dependencies = [
"tracing",
]
[[package]]
name = "ac-qu-ai-nt-gui-eframe"
version = "0.0.2"
dependencies = [
"tracing",
]
[[package]]
name = "ac-qu-ai-nt-tui-ratatui"
version = "0.0.2"
dependencies = [
"tracing",
]
[[package]]
name = "anstream"
version = "0.6.15"

View File

@@ -1,5 +1,5 @@
[workspace]
members = ["cli-clap", "multibinary"]
members = ["core", "cli-clap", "gui-eframe", "tui-ratatui", "multibinary"]
resolver = "2"
[workspace.package]

View File

@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.0.5](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-cli-clap-v0.0.4...ac-qu-ai-nt-cli-clap-v0.0.5) - 2024-10-05
### Other
- change `Hello, world!` to `What's up world?` to allow me to cut a release
## [0.0.4](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-cli-clap-v0.0.3...ac-qu-ai-nt-cli-clap-v0.0.4) - 2024-09-30
### Added

View File

@@ -1,7 +1,7 @@
[package]
name = "ac-qu-ai-nt-cli-clap"
description = "A CLI (written with clap) for ac-qu-ai-nt"
version = "0.0.4"
version = "0.0.5"
edition = "2021"
rust-version = "1.76"

View File

@@ -1,4 +1,4 @@
pub fn main() {
#[cfg(feature = "tracing")]
tracing::info!("Hello, world!");
tracing::info!("What's up, world?");
}

47
core/CHANGELOG.md Normal file
View File

@@ -0,0 +1,47 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.0.2](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-core-v0.0.1...ac-qu-ai-nt-core-v0.0.2) - 2024-10-06
### Other
- release
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-core-v0.0.1) - 2024-10-06
### Added
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
### Other
- add package `description`s so that they can actually be published
- release
- run cargo fmt
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-core-v0.0.1) - 2024-10-06
### Added
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
### Other
- release
- run cargo fmt
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-core-v0.0.1) - 2024-10-06
### Added
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
### Other
- run cargo fmt

17
core/Cargo.toml Normal file
View File

@@ -0,0 +1,17 @@
[package]
name = "ac-qu-ai-nt-core"
description = "The core library of ac-qu-ai-nt. If you're looking for the application, see cli-clap or gui-eframe or tui-ratatui or the multibinary"
version = "0.0.2"
edition = "2021"
rust-version = "1.76"
authors = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
[features]
default = ["tracing"]
tracing = ["dep:tracing"]
[dependencies]
tracing = { workspace = true, optional = true }

1
core/src/lib.rs Normal file
View File

@@ -0,0 +1 @@

41
gui-eframe/CHANGELOG.md Normal file
View File

@@ -0,0 +1,41 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.0.2](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-gui-eframe-v0.0.1...ac-qu-ai-nt-gui-eframe-v0.0.2) - 2024-10-06
### Other
- release
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-gui-eframe-v0.0.1) - 2024-10-06
### Added
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
### Other
- add package `description`s so that they can actually be published
- release
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-gui-eframe-v0.0.1) - 2024-10-06
### Added
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
### Other
- release
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-gui-eframe-v0.0.1) - 2024-10-06
### Added
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`

17
gui-eframe/Cargo.toml Normal file
View File

@@ -0,0 +1,17 @@
[package]
name = "ac-qu-ai-nt-gui-eframe"
description = "A GUI (written with egui / eframe) for ac-qu-ai-nt"
version = "0.0.2"
edition = "2021"
rust-version = "1.76"
authors = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
[features]
default = ["tracing"]
tracing = ["dep:tracing"]
[dependencies]
tracing = { workspace = true, optional = true }

4
gui-eframe/src/lib.rs Normal file
View File

@@ -0,0 +1,4 @@
pub fn main() {
#[cfg(feature = "tracing")]
tracing::info!("Hello from the eframe-based GUI!");
}

1
gui-eframe/src/main.rs Normal file
View File

@@ -0,0 +1 @@
use ac_qu_ai_nt_gui_eframe::main;

View File

@@ -7,6 +7,42 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [0.0.9](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.8...ac-qu-ai-nt-v0.0.9) - 2024-10-06
### Other
- updated the following local packages: ac-qu-ai-nt-gui-eframe, ac-qu-ai-nt-tui-ratatui
## [0.0.8](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.7...ac-qu-ai-nt-v0.0.8) - 2024-10-06
### Added
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
## [0.0.7](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.6...ac-qu-ai-nt-v0.0.7) - 2024-10-05
### Other
- updated the following local packages: ac-qu-ai-nt-cli-clap
## [0.0.6](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.5...ac-qu-ai-nt-v0.0.6) - 2024-10-05
### Fixed
- cover the new cases of `Command` for `GuiEframe` and `TuiRatatui`
### Other
- correctly add `gui-eframe` and `tui-ratatui` as features this time around
- add `gui-eframe` and `tui-ratatui` as subcommands with aliases `gui` and `tui` respectively
- add `gui-eframe` and `tui-ratatui` as features
## [0.0.5](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.4...ac-qu-ai-nt-v0.0.5) - 2024-10-05
### Other
- [**breaking**] put accessing the cli under a subcommand like the README suggests it would be
## [0.0.4](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-v0.0.3...ac-qu-ai-nt-v0.0.4) - 2024-09-30
### Added

View File

@@ -1,7 +1,7 @@
[package]
name = "ac-qu-ai-nt"
description = "A WIP project using AI to break down a user's query, acquire the knowledge to answer it, then transfer those insights to the user"
version = "0.0.4"
version = "0.0.9"
edition = "2021"
rust-version = "1.76"
@@ -10,12 +10,25 @@ license = { workspace = true }
repository = { workspace = true }
[features]
default = ["cli-clap", "tracing"]
default = ["cli-clap", "gui-eframe", "tui-ratatui", "tracing"]
cli-clap = ["dep:ac-qu-ai-nt-cli-clap"]
tracing = ["dep:tracing-subscriber", "ac-qu-ai-nt-cli-clap?/tracing"]
gui-eframe = ["dep:ac-qu-ai-nt-gui-eframe"]
tui-ratatui = ["dep:ac-qu-ai-nt-tui-ratatui"]
tracing = [
"dep:tracing-subscriber",
"ac-qu-ai-nt-cli-clap?/tracing",
"ac-qu-ai-nt-gui-eframe?/tracing",
"ac-qu-ai-nt-tui-ratatui?/tracing",
]
[dependencies]
ac-qu-ai-nt-cli-clap = { version = "0.0.4", path = "../cli-clap", optional = true }
ac-qu-ai-nt-cli-clap = { version = "0.0.5", path = "../cli-clap", optional = true }
ac-qu-ai-nt-gui-eframe = { version = "0.0.2", path = "../gui-eframe", optional = true }
ac-qu-ai-nt-tui-ratatui = { version = "0.0.2", path = "../tui-ratatui", optional = true }
clap = { workspace = true, features = ["derive", "env"] }
dirs-next = "2.0.0"
tracing-subscriber = { version = "0.3.18", optional = true }

View File

@@ -1,6 +1,6 @@
use std::{fs::create_dir_all, io::ErrorKind, path::PathBuf};
use clap::Parser;
use clap::{Parser, Subcommand};
#[derive(Debug, Parser)]
struct Args {
@@ -10,11 +10,28 @@ struct Args {
default_value_os_t = dirs_next::data_local_dir().expect("sorry but you're on a platform where dirs_next::data_local_dir() returned None, so please specify a data directory for the application").join("ac-qu-ai-nt")
)]
application_data_directory: PathBuf,
#[command(subcommand)]
command: Command,
}
#[derive(Debug, Subcommand)]
enum Command {
#[cfg(feature = "cli-clap")]
#[command(alias = "cli")]
CliClap,
#[cfg(feature = "gui-eframe")]
#[command(alias = "gui")]
GuiEframe,
#[cfg(feature = "tui-ratatui")]
#[command(alias = "tui")]
TuiRatatui,
}
fn main() {
let Args {
application_data_directory,
command,
} = Args::parse();
#[cfg(feature = "tracing")]
@@ -38,6 +55,12 @@ fn main() {
}
}
match command {
#[cfg(feature = "cli-clap")]
ac_qu_ai_nt_cli_clap::main();
Command::CliClap => ac_qu_ai_nt_cli_clap::main(),
#[cfg(feature = "gui-eframe")]
Command::GuiEframe => ac_qu_ai_nt_gui_eframe::main(),
#[cfg(feature = "tui-ratatui")]
Command::TuiRatatui => ac_qu_ai_nt_tui_ratatui::main(),
}
}

41
tui-ratatui/CHANGELOG.md Normal file
View File

@@ -0,0 +1,41 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.0.2](https://github.com/babichjacob/ac-qu-ai-nt/compare/ac-qu-ai-nt-tui-ratatui-v0.0.1...ac-qu-ai-nt-tui-ratatui-v0.0.2) - 2024-10-06
### Other
- release
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-tui-ratatui-v0.0.1) - 2024-10-06
### Added
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
### Other
- add package `description`s so that they can actually be published
- release
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-tui-ratatui-v0.0.1) - 2024-10-06
### Added
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`
### Other
- release
## [0.0.1](https://github.com/babichjacob/ac-qu-ai-nt/releases/tag/ac-qu-ai-nt-tui-ratatui-v0.0.1) - 2024-10-06
### Added
- initialize `core`, `gui-eframe`, and `tui-ratatui` crates and use them in the `multibinary`

17
tui-ratatui/Cargo.toml Normal file
View File

@@ -0,0 +1,17 @@
[package]
name = "ac-qu-ai-nt-tui-ratatui"
description = "A TUI (written with Ratatui) for ac-qu-ai-nt"
version = "0.0.2"
edition = "2021"
rust-version = "1.76"
authors = { workspace = true }
license = { workspace = true }
repository = { workspace = true }
[features]
default = ["tracing"]
tracing = ["dep:tracing"]
[dependencies]
tracing = { workspace = true, optional = true }

4
tui-ratatui/src/lib.rs Normal file
View File

@@ -0,0 +1,4 @@
pub fn main() {
#[cfg(feature = "tracing")]
tracing::info!("This is from the TUI based on Ratatui.");
}

1
tui-ratatui/src/main.rs Normal file
View File

@@ -0,0 +1 @@
use ac_qu_ai_nt_tui_ratatui::main;