diff --git a/.config/hakari.toml b/.config/hakari.toml index 933d9bd37..6541383eb 100644 --- a/.config/hakari.toml +++ b/.config/hakari.toml @@ -23,3 +23,11 @@ platforms = [ # Write out exact versions rather than a semver range. (Defaults to false.) # exact-versions = true + +[traversal-excludes] +third-party = [ + # We don't want the `fips` feature to be enabled, but `hakari` doesn't + # allow us to exclude individual features. Therefore we must exclude + # `rustls` entirely. + { name = "rustls" } +] diff --git a/.github/ci_generator/templates/job_steps/pavex_tests.jinja b/.github/ci_generator/templates/job_steps/pavex_tests.jinja index 5183c2bb1..40250b373 100644 --- a/.github/ci_generator/templates/job_steps/pavex_tests.jinja +++ b/.github/ci_generator/templates/job_steps/pavex_tests.jinja @@ -17,7 +17,14 @@ uses: actions/setup-go@v6 with: go-version: "1.25.0" -<% include 'setup_pavex' %> +- name: Install cargo-hakari + uses: taiki-e/install-action@v2 + with: + tool: cargo-hakari +- name: Remove workspace hack from Cargo.toml + run: | + cargo hakari disable + cargo hakari remove-deps -y - name: Run Pavex tests with multiple feature combinations if: runner.os != 'Windows' run: | diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index e1d68828c..f3551404f 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -791,29 +791,14 @@ jobs: uses: actions/setup-go@v6 with: go-version: "1.25.0" - - name: Download pavex CLI artifact - uses: actions/download-artifact@v4 - with: - name: pavex_cli_linux - path: ~/.cargo/bin - - name: Download pavexc CLI artifact - uses: actions/download-artifact@v4 + - name: Install cargo-hakari + uses: taiki-e/install-action@v2 with: - name: pavexc_cli_linux - path: ~/.cargo/bin - - name: Mark pavex as executable - env: - PAVEX: /home/runner/.cargo/bin/pavex - PAVEXC: /home/runner/.cargo/bin/pavexc + tool: cargo-hakari + - name: Remove workspace hack from Cargo.toml run: | - chmod +x ${{ env.PAVEX }} - chmod +x ${{ env.PAVEXC }} - - name: Activate pavex - env: - PAVEX_ACTIVATION_KEY: ${{ secrets.pavex_activation_key }} - run: | - pavex self activate - pavexc self setup + cargo hakari disable + cargo hakari remove-deps -y - name: Run Pavex tests with multiple feature combinations if: runner.os != 'Windows' run: | @@ -1119,29 +1104,14 @@ jobs: uses: actions/setup-go@v6 with: go-version: "1.25.0" - - name: Download pavex CLI artifact - uses: actions/download-artifact@v4 + - name: Install cargo-hakari + uses: taiki-e/install-action@v2 with: - name: pavex_cli_macos - path: ~/.cargo/bin - - name: Download pavexc CLI artifact - uses: actions/download-artifact@v4 - with: - name: pavexc_cli_macos - path: ~/.cargo/bin - - name: Mark pavex as executable - env: - PAVEX: /Users/runner/.cargo/bin/pavex - PAVEXC: /Users/runner/.cargo/bin/pavexc - run: | - chmod +x ${{ env.PAVEX }} - chmod +x ${{ env.PAVEXC }} - - name: Activate pavex - env: - PAVEX_ACTIVATION_KEY: ${{ secrets.pavex_activation_key }} + tool: cargo-hakari + - name: Remove workspace hack from Cargo.toml run: | - pavex self activate - pavexc self setup + cargo hakari disable + cargo hakari remove-deps -y - name: Run Pavex tests with multiple feature combinations if: runner.os != 'Windows' run: | @@ -1441,23 +1411,14 @@ jobs: uses: actions/setup-go@v6 with: go-version: "1.25.0" - - name: Download pavex CLI artifact - uses: actions/download-artifact@v4 + - name: Install cargo-hakari + uses: taiki-e/install-action@v2 with: - name: pavex_cli_windows - path: ~/.cargo/bin - - name: Download pavexc CLI artifact - uses: actions/download-artifact@v4 - with: - name: pavexc_cli_windows - path: ~/.cargo/bin - - - name: Activate pavex - env: - PAVEX_ACTIVATION_KEY: ${{ secrets.pavex_activation_key }} + tool: cargo-hakari + - name: Remove workspace hack from Cargo.toml run: | - pavex self activate - pavexc self setup + cargo hakari disable + cargo hakari remove-deps -y - name: Run Pavex tests with multiple feature combinations if: runner.os != 'Windows' run: | diff --git a/.github/workflows/enable-workspace-hack.yml b/.github/workflows/enable-workspace-hack.yml index f0f04009b..26675d18a 100644 --- a/.github/workflows/enable-workspace-hack.yml +++ b/.github/workflows/enable-workspace-hack.yml @@ -35,6 +35,10 @@ jobs: run: | cargo hakari generate cargo hakari manage-deps --yes + cd docs/examples + cargo hakari generate + cargo hakari manage-deps --yes + cd ../.. git add . git commit -am "release: Re-enable workspace hack after a release" - name: Create Pull Request diff --git a/.github/workflows/release-pr-checks.yml b/.github/workflows/release-pr-checks.yml new file mode 100644 index 000000000..e39a5fc3e --- /dev/null +++ b/.github/workflows/release-pr-checks.yml @@ -0,0 +1,21 @@ +name: Pre-release checks + +on: + push: + branches: + - release-plz-* + +jobs: + publish-dry-run: + name: Publish (dry-run) + runs-on: ubuntu-latest + steps: + - name: Checkout repository + uses: actions/checkout@v5 + with: + fetch-depth: 0 + - name: Install Rust + uses: actions-rust-lang/setup-rust-toolchain@v1.8.0 + - name: Publish to crates.io (dry-run) + run: | + cargo publish --dry-run --workspace diff --git a/Cargo.lock b/Cargo.lock index 8021704c4..001a82015 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1473,6 +1473,7 @@ dependencies = [ "liquid", "liquid-core", "path-absolutize", + "px_workspace_hack", "regex", "sanitize-filename", "tempfile", @@ -2822,6 +2823,7 @@ dependencies = [ "percent-encoding", "persist_if_changed", "pin-project-lite", + "px_workspace_hack", "reqwest", "ron 0.10.1", "rustls", @@ -2847,6 +2849,7 @@ dependencies = [ name = "pavex_bp_schema" version = "0.2.8" dependencies = [ + "px_workspace_hack", "serde", ] @@ -2881,6 +2884,7 @@ dependencies = [ "pavexc", "pavexc_cli_client", "pem", + "px_workspace_hack", "redact", "remove_dir_all", "reqwest", @@ -2917,6 +2921,7 @@ version = "0.2.8" dependencies = [ "anyhow", "pavex", + "px_workspace_hack", "thiserror 2.0.17", ] @@ -2928,6 +2933,7 @@ dependencies = [ "cargo-like-utils", "miette", "pavex_cli_shell", + "px_workspace_hack", "thiserror 2.0.17", ] @@ -2937,6 +2943,7 @@ version = "0.2.8" dependencies = [ "anyhow", "miette", + "px_workspace_hack", "thiserror 2.0.17", ] @@ -2948,6 +2955,7 @@ dependencies = [ "fs-err", "libc", "pavex_cli_shell", + "px_workspace_hack", "tracing", "windows-sys 0.60.2", ] @@ -2958,6 +2966,7 @@ version = "0.2.8" dependencies = [ "anyhow", "cargo-like-utils", + "px_workspace_hack", ] [[package]] @@ -2970,6 +2979,7 @@ dependencies = [ "pavex", "pavexc_attr_parser", "proc-macro2", + "px_workspace_hack", "quote", "serde", "syn", @@ -2982,6 +2992,7 @@ version = "0.2.8" dependencies = [ "miette", "owo-colors", + "px_workspace_hack", "supports-color", "supports-hyperlinks", "supports-unicode", @@ -3002,6 +3013,7 @@ dependencies = [ "pavex", "pavex_session_memory_store", "pavex_tracing", + "px_workspace_hack", "serde", "serde_json", "static_assertions", @@ -3018,6 +3030,7 @@ dependencies = [ "async-trait", "pavex", "pavex_session", + "px_workspace_hack", "serde_json", "tokio", "tracing", @@ -3031,6 +3044,7 @@ dependencies = [ "async-trait", "pavex", "pavex_session", + "px_workspace_hack", "redis", "serde", "serde_json", @@ -3050,6 +3064,7 @@ dependencies = [ "pavex_session", "pavex_session_sqlx", "pavex_tracing", + "px_workspace_hack", "serde_json", "sqlx", "tempfile", @@ -3077,6 +3092,7 @@ dependencies = [ "once_cell", "pavexc", "persist_if_changed", + "px_workspace_hack", "rayon", "regex", "rlimit", @@ -3095,6 +3111,7 @@ name = "pavex_tracing" version = "0.2.8" dependencies = [ "pavex", + "px_workspace_hack", "tracing", "tracing_log_error", ] @@ -3134,6 +3151,7 @@ dependencies = [ "petgraph", "prettyplease", "proc-macro2", + "px_workspace_hack", "quote", "r2d2", "r2d2_sqlite", @@ -3167,6 +3185,7 @@ dependencies = [ "itertools 0.14.0", "pavex_bp_schema", "proc-macro2", + "px_workspace_hack", "quote", "serde", "syn", @@ -3196,6 +3215,7 @@ dependencies = [ "pavex_miette", "pavexc", "pavexc_cli_client", + "px_workspace_hack", "ron 0.10.1", "serde", "serde_json", @@ -3216,6 +3236,7 @@ version = "0.2.8" dependencies = [ "anyhow", "pavex", + "px_workspace_hack", "thiserror 2.0.17", ] @@ -3273,6 +3294,7 @@ version = "0.2.8" dependencies = [ "anyhow", "fs-err", + "px_workspace_hack", "sha2", "tracing", ] @@ -3467,6 +3489,86 @@ dependencies = [ [[package]] name = "px_workspace_hack" version = "0.1.0" +dependencies = [ + "ahash", + "aho-corasick", + "base64 0.22.1", + "byteorder", + "clap", + "clap_builder", + "console 0.16.1", + "crossbeam-utils", + "crypto-common", + "darling_core 0.21.3", + "digest", + "either", + "fastrand", + "fixedbitset", + "form_urlencoded", + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-util", + "getrandom 0.2.16", + "getrandom 0.3.3", + "hashbrown 0.14.5", + "hashbrown 0.15.5", + "hmac", + "indexmap", + "jiff", + "jiff-sqlx", + "lazy_static", + "libsqlite3-sys", + "log", + "memchr", + "miette", + "num-bigint", + "num-integer", + "num-traits", + "once_cell", + "percent-encoding", + "petgraph", + "proc-macro2", + "quote", + "rand 0.8.5", + "rand_core 0.6.4", + "regex-automata", + "regex-syntax", + "reqwest", + "rustls-pki-types", + "serde", + "serde_core", + "serde_json", + "serde_spanned 1.0.2", + "sha2", + "smallvec", + "sqlx", + "sqlx-core", + "sqlx-macros", + "sqlx-macros-core", + "sqlx-mysql", + "sqlx-postgres", + "sqlx-sqlite", + "stable_deref_trait", + "subtle", + "syn", + "textwrap", + "time", + "tokio", + "toml 0.8.23", + "toml 0.9.7", + "toml_datetime 0.7.2", + "toml_parser", + "toml_writer", + "tracing", + "tracing-core", + "tracing-log", + "uuid", + "winnow", + "zeroize", +] [[package]] name = "quinn" diff --git a/compiler/generate_from_path/Cargo.toml b/compiler/generate_from_path/Cargo.toml index d7468539b..3be93995a 100644 --- a/compiler/generate_from_path/Cargo.toml +++ b/compiler/generate_from_path/Cargo.toml @@ -20,3 +20,4 @@ indicatif = { workspace = true } walkdir = { workspace = true } sanitize-filename = { workspace = true } regex = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../px_workspace_hack" } diff --git a/compiler/pavex_bp_schema/Cargo.toml b/compiler/pavex_bp_schema/Cargo.toml index db41b4d03..5edfef7d6 100644 --- a/compiler/pavex_bp_schema/Cargo.toml +++ b/compiler/pavex_bp_schema/Cargo.toml @@ -9,3 +9,4 @@ license.workspace = true [dependencies] serde = { workspace = true, features = ["derive"] } +px_workspace_hack = { version = "0.1", path = "../../px_workspace_hack" } diff --git a/compiler/pavex_cli/Cargo.toml b/compiler/pavex_cli/Cargo.toml index 5acb4dbc3..ead6f8a30 100644 --- a/compiler/pavex_cli/Cargo.toml +++ b/compiler/pavex_cli/Cargo.toml @@ -71,6 +71,7 @@ jsonwebtoken = { workspace = true } ring = { workspace = true } pem = { workspace = true } jiff = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../px_workspace_hack" } [dev-dependencies] pavex_test_runner = { path = "../pavex_test_runner" } diff --git a/compiler/pavex_cli_client/Cargo.toml b/compiler/pavex_cli_client/Cargo.toml index 1b88dfa08..7473db48f 100644 --- a/compiler/pavex_cli_client/Cargo.toml +++ b/compiler/pavex_cli_client/Cargo.toml @@ -11,3 +11,4 @@ license.workspace = true anyhow = { workspace = true } pavex = { workspace = true } thiserror = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../px_workspace_hack" } diff --git a/compiler/pavex_cli_deps/Cargo.toml b/compiler/pavex_cli_deps/Cargo.toml index 0dce5bcf3..553b76bdf 100644 --- a/compiler/pavex_cli_deps/Cargo.toml +++ b/compiler/pavex_cli_deps/Cargo.toml @@ -13,3 +13,4 @@ pavex_cli_shell = { workspace = true } cargo-like-utils = { workspace = true } thiserror = { workspace = true } miette = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../px_workspace_hack" } diff --git a/compiler/pavex_cli_diagnostic/Cargo.toml b/compiler/pavex_cli_diagnostic/Cargo.toml index 64c89b6e6..9f8998ffa 100644 --- a/compiler/pavex_cli_diagnostic/Cargo.toml +++ b/compiler/pavex_cli_diagnostic/Cargo.toml @@ -11,3 +11,4 @@ version.workspace = true miette = { workspace = true } anyhow = { workspace = true } thiserror = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../px_workspace_hack" } diff --git a/compiler/pavex_cli_flock/Cargo.toml b/compiler/pavex_cli_flock/Cargo.toml index 14025d60c..dc920e2a1 100644 --- a/compiler/pavex_cli_flock/Cargo.toml +++ b/compiler/pavex_cli_flock/Cargo.toml @@ -22,3 +22,4 @@ windows-sys = { workspace = true, features = [ "Win32_System_JobObjects", "Win32_System_Threading", ] } +px_workspace_hack = { version = "0.1", path = "../../px_workspace_hack" } diff --git a/compiler/pavex_cli_shell/Cargo.toml b/compiler/pavex_cli_shell/Cargo.toml index d4992af15..ca0c73ed6 100644 --- a/compiler/pavex_cli_shell/Cargo.toml +++ b/compiler/pavex_cli_shell/Cargo.toml @@ -10,3 +10,4 @@ version.workspace = true [dependencies] cargo-like-utils = { workspace = true } anyhow = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../px_workspace_hack" } diff --git a/compiler/pavex_miette/Cargo.toml b/compiler/pavex_miette/Cargo.toml index dcfb567e9..0004651b5 100644 --- a/compiler/pavex_miette/Cargo.toml +++ b/compiler/pavex_miette/Cargo.toml @@ -16,3 +16,4 @@ supports-hyperlinks = { workspace = true } supports-color = { workspace = true } supports-unicode = { workspace = true } terminal_size = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../px_workspace_hack" } diff --git a/compiler/pavex_test_runner/Cargo.toml b/compiler/pavex_test_runner/Cargo.toml index fd50ec304..f89d9a120 100644 --- a/compiler/pavex_test_runner/Cargo.toml +++ b/compiler/pavex_test_runner/Cargo.toml @@ -38,3 +38,4 @@ pavexc = { workspace = true } guppy = { workspace = true } rayon = { workspace = true } rlimit = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../px_workspace_hack" } diff --git a/compiler/pavexc/Cargo.toml b/compiler/pavexc/Cargo.toml index 05ecc7840..24e617356 100644 --- a/compiler/pavexc/Cargo.toml +++ b/compiler/pavexc/Cargo.toml @@ -75,6 +75,7 @@ r2d2 = { workspace = true } bincode = { workspace = true, features = ["serde"] } rayon = { workspace = true } num_cpus = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../px_workspace_hack" } [dev-dependencies] insta = { workspace = true } diff --git a/compiler/pavexc_attr_parser/Cargo.toml b/compiler/pavexc_attr_parser/Cargo.toml index fb9c80046..be212dc0f 100644 --- a/compiler/pavexc_attr_parser/Cargo.toml +++ b/compiler/pavexc_attr_parser/Cargo.toml @@ -17,6 +17,7 @@ quote = { workspace = true } itertools = { workspace = true } thiserror = { workspace = true } darling = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../px_workspace_hack" } [dev-dependencies] insta = { workspace = true } diff --git a/compiler/pavexc_cli/Cargo.toml b/compiler/pavexc_cli/Cargo.toml index daca3eee0..963841c0f 100644 --- a/compiler/pavexc_cli/Cargo.toml +++ b/compiler/pavexc_cli/Cargo.toml @@ -43,6 +43,7 @@ tempfile = { workspace = true } better-panic = { workspace = true } serde = { workspace = true, features = ["derive"] } serde_json = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../px_workspace_hack" } [build-dependencies] vergen-gitcl = { workspace = true } diff --git a/compiler/pavexc_cli_client/Cargo.toml b/compiler/pavexc_cli_client/Cargo.toml index 90b9d7a7c..ca6e76e69 100644 --- a/compiler/pavexc_cli_client/Cargo.toml +++ b/compiler/pavexc_cli_client/Cargo.toml @@ -11,3 +11,4 @@ license.workspace = true anyhow = { workspace = true } pavex = { workspace = true } thiserror = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../px_workspace_hack" } diff --git a/compiler/persist_if_changed/Cargo.toml b/compiler/persist_if_changed/Cargo.toml index 35503ac6b..ba232445b 100644 --- a/compiler/persist_if_changed/Cargo.toml +++ b/compiler/persist_if_changed/Cargo.toml @@ -12,3 +12,4 @@ tracing = { workspace = true, default-features = true } fs-err = { workspace = true } sha2 = { workspace = true } anyhow = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../px_workspace_hack" } diff --git a/docs/examples/workspace_hack/Cargo.toml b/docs/examples/workspace_hack/Cargo.toml index c8bfc8d0f..03cbc9fe3 100644 --- a/docs/examples/workspace_hack/Cargo.toml +++ b/docs/examples/workspace_hack/Cargo.toml @@ -16,28 +16,40 @@ publish = false ### BEGIN HAKARI SECTION [dependencies] futures-core = { version = "0.3" } +getrandom = { version = "0.2", default-features = false, features = ["std"] } +log = { version = "0.4", default-features = false, features = ["std"] } memchr = { version = "2" } +once_cell = { version = "1" } percent-encoding = { version = "2" } proc-macro2 = { version = "1", features = ["span-locations"] } quote = { version = "1" } reqwest = { version = "0.12", features = ["json", "rustls-tls"] } +rustls = { version = "0.23", default-features = false, features = ["logging", "ring", "std", "tls12"] } serde = { version = "1", features = ["alloc", "derive", "rc"] } +serde_core = { version = "1", features = ["alloc", "rc"] } serde_json = { version = "1", features = ["raw_value", "unbounded_depth"] } smallvec = { version = "1", default-features = false, features = ["const_new", "serde"] } stable_deref_trait = { version = "1" } +subtle = { version = "2" } syn = { version = "2", features = ["extra-traits", "fold", "full", "visit", "visit-mut"] } [build-dependencies] futures-core = { version = "0.3" } +getrandom = { version = "0.2", default-features = false, features = ["std"] } +log = { version = "0.4", default-features = false, features = ["std"] } memchr = { version = "2" } +once_cell = { version = "1" } percent-encoding = { version = "2" } proc-macro2 = { version = "1", features = ["span-locations"] } quote = { version = "1" } reqwest = { version = "0.12", features = ["json", "rustls-tls"] } +rustls = { version = "0.23", default-features = false, features = ["logging", "ring", "std", "tls12"] } serde = { version = "1", features = ["alloc", "derive", "rc"] } +serde_core = { version = "1", features = ["alloc", "rc"] } serde_json = { version = "1", features = ["raw_value", "unbounded_depth"] } smallvec = { version = "1", default-features = false, features = ["const_new", "serde"] } stable_deref_trait = { version = "1" } +subtle = { version = "2" } syn = { version = "2", features = ["extra-traits", "fold", "full", "visit", "visit-mut"] } ### END HAKARI SECTION diff --git a/px_workspace_hack/Cargo.toml b/px_workspace_hack/Cargo.toml index ad354e0e4..c34d5c636 100644 --- a/px_workspace_hack/Cargo.toml +++ b/px_workspace_hack/Cargo.toml @@ -16,8 +16,162 @@ license.workspace = true # are managed by hakari. ### BEGIN HAKARI SECTION +[dependencies] +ahash = { version = "0.8" } +aho-corasick = { version = "1" } +base64 = { version = "0.22" } +byteorder = { version = "1" } +clap = { version = "4", features = ["derive", "env"] } +clap_builder = { version = "4", default-features = false, features = ["color", "env", "help", "std", "suggestions", "usage"] } +console = { version = "0.16" } +crossbeam-utils = { version = "0.8" } +crypto-common = { version = "0.1", default-features = false, features = ["getrandom", "std"] } +darling_core = { version = "0.21", default-features = false, features = ["suggestions"] } +digest = { version = "0.10", features = ["mac", "oid", "std"] } +either = { version = "1", features = ["serde", "use_std"] } +fastrand = { version = "2" } +fixedbitset = { version = "0.5" } +form_urlencoded = { version = "1" } +futures-channel = { version = "0.3", features = ["sink"] } +futures-core = { version = "0.3" } +futures-executor = { version = "0.3" } +futures-io = { version = "0.3" } +futures-sink = { version = "0.3" } +futures-util = { version = "0.3", features = ["channel", "io", "sink"] } +getrandom-468e82937335b1c9 = { package = "getrandom", version = "0.3", default-features = false, features = ["std"] } +getrandom-6f8ce4dd05d13bba = { package = "getrandom", version = "0.2", default-features = false, features = ["std"] } +hashbrown-3575ec1268b04181 = { package = "hashbrown", version = "0.15" } +hashbrown-582f2526e08bb6a0 = { package = "hashbrown", version = "0.14", default-features = false, features = ["ahash", "inline-more"] } +hmac = { version = "0.12", default-features = false, features = ["reset"] } +indexmap = { version = "2", features = ["serde"] } +jiff = { version = "0.2", features = ["serde"] } +jiff-sqlx = { version = "0.1", features = ["postgres"] } +lazy_static = { version = "1", default-features = false, features = ["spin_no_std"] } +libsqlite3-sys = { version = "0.30", features = ["bundled", "unlock_notify"] } +log = { version = "0.4", default-features = false, features = ["std"] } +memchr = { version = "2" } +miette = { version = "7", features = ["fancy"] } +num-bigint = { version = "0.4" } +num-integer = { version = "0.1", default-features = false, features = ["i128", "std"] } +num-traits = { version = "0.2", features = ["i128", "libm"] } +once_cell = { version = "1" } +percent-encoding = { version = "2" } +petgraph = { version = "0.8", default-features = false, features = ["graphmap", "stable_graph", "std"] } +proc-macro2 = { version = "1", features = ["span-locations"] } +quote = { version = "1" } +rand = { version = "0.8" } +rand_core = { version = "0.6", default-features = false, features = ["std"] } +regex-automata = { version = "0.4", default-features = false, features = ["dfa-build", "dfa-onepass", "hybrid", "meta", "nfa", "perf", "std", "unicode"] } +regex-syntax = { version = "0.8" } +reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] } +rustls-pki-types = { version = "1", features = ["std"] } +serde = { version = "1", features = ["alloc", "derive", "rc"] } +serde_core = { version = "1", features = ["alloc", "rc"] } +serde_json = { version = "1", features = ["raw_value", "unbounded_depth"] } +serde_spanned = { version = "1" } +sha2 = { version = "0.10" } +smallvec = { version = "1", default-features = false, features = ["const_new", "serde"] } +sqlx = { version = "0.8", features = ["mysql", "postgres", "runtime-tokio-rustls", "sqlite", "uuid"] } +sqlx-core = { version = "0.8", features = ["_rt-tokio", "_tls-rustls-ring-webpki", "any", "json", "migrate", "offline", "uuid"] } +sqlx-mysql = { version = "0.8", default-features = false, features = ["any", "json", "migrate", "offline", "uuid"] } +sqlx-postgres = { version = "0.8", default-features = false, features = ["any", "json", "migrate", "offline", "uuid"] } +sqlx-sqlite = { version = "0.8", default-features = false, features = ["any", "bundled", "json", "migrate", "offline", "uuid"] } +stable_deref_trait = { version = "1" } +subtle = { version = "2" } +syn = { version = "2", features = ["extra-traits", "fold", "full", "visit", "visit-mut"] } +textwrap = { version = "0.16" } +time = { version = "0.3", features = ["formatting", "local-offset", "macros", "parsing"] } +tokio = { version = "1", features = ["fs", "io-util", "macros", "net", "rt-multi-thread", "sync", "time"] } +toml-274715c4dabd11b0 = { package = "toml", version = "0.9", features = ["preserve_order"] } +toml-c38e5c1d305a1b54 = { package = "toml", version = "0.8", features = ["preserve_order"] } +toml_datetime = { version = "0.7", features = ["serde"] } +toml_parser = { version = "1" } +toml_writer = { version = "1" } +tracing = { version = "0.1", features = ["log"] } +tracing-core = { version = "0.1" } +tracing-log = { version = "0.2" } +uuid = { version = "1", features = ["fast-rng", "serde", "v4", "v7"] } +winnow = { version = "0.7" } +zeroize = { version = "1" } + +[build-dependencies] +ahash = { version = "0.8" } +aho-corasick = { version = "1" } +base64 = { version = "0.22" } +byteorder = { version = "1" } +clap = { version = "4", features = ["derive", "env"] } +clap_builder = { version = "4", default-features = false, features = ["color", "env", "help", "std", "suggestions", "usage"] } +console = { version = "0.16" } +crossbeam-utils = { version = "0.8" } +crypto-common = { version = "0.1", default-features = false, features = ["getrandom", "std"] } +darling_core = { version = "0.21", default-features = false, features = ["suggestions"] } +digest = { version = "0.10", features = ["mac", "oid", "std"] } +either = { version = "1", features = ["serde", "use_std"] } +fastrand = { version = "2" } +fixedbitset = { version = "0.5" } +form_urlencoded = { version = "1" } +futures-channel = { version = "0.3", features = ["sink"] } +futures-core = { version = "0.3" } +futures-executor = { version = "0.3" } +futures-io = { version = "0.3" } +futures-sink = { version = "0.3" } +futures-util = { version = "0.3", features = ["channel", "io", "sink"] } +getrandom-468e82937335b1c9 = { package = "getrandom", version = "0.3", default-features = false, features = ["std"] } +getrandom-6f8ce4dd05d13bba = { package = "getrandom", version = "0.2", default-features = false, features = ["std"] } +hashbrown-3575ec1268b04181 = { package = "hashbrown", version = "0.15" } +hashbrown-582f2526e08bb6a0 = { package = "hashbrown", version = "0.14", default-features = false, features = ["ahash", "inline-more"] } +hmac = { version = "0.12", default-features = false, features = ["reset"] } +indexmap = { version = "2", features = ["serde"] } +jiff = { version = "0.2", features = ["serde"] } +jiff-sqlx = { version = "0.1", features = ["postgres"] } +lazy_static = { version = "1", default-features = false, features = ["spin_no_std"] } +libsqlite3-sys = { version = "0.30", features = ["bundled", "unlock_notify"] } +log = { version = "0.4", default-features = false, features = ["std"] } +memchr = { version = "2" } +miette = { version = "7", features = ["fancy"] } +num-bigint = { version = "0.4" } +num-integer = { version = "0.1", default-features = false, features = ["i128", "std"] } +num-traits = { version = "0.2", features = ["i128", "libm"] } +once_cell = { version = "1" } +percent-encoding = { version = "2" } +petgraph = { version = "0.8", default-features = false, features = ["graphmap", "stable_graph", "std"] } +proc-macro2 = { version = "1", features = ["span-locations"] } +quote = { version = "1" } +rand = { version = "0.8" } +rand_core = { version = "0.6", default-features = false, features = ["std"] } +regex-automata = { version = "0.4", default-features = false, features = ["dfa-build", "dfa-onepass", "hybrid", "meta", "nfa", "perf", "std", "unicode"] } +regex-syntax = { version = "0.8" } +reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] } +rustls-pki-types = { version = "1", features = ["std"] } +serde = { version = "1", features = ["alloc", "derive", "rc"] } +serde_core = { version = "1", features = ["alloc", "rc"] } +serde_json = { version = "1", features = ["raw_value", "unbounded_depth"] } +serde_spanned = { version = "1" } +sha2 = { version = "0.10" } +smallvec = { version = "1", default-features = false, features = ["const_new", "serde"] } +sqlx = { version = "0.8", features = ["mysql", "postgres", "runtime-tokio-rustls", "sqlite", "uuid"] } +sqlx-core = { version = "0.8", features = ["_rt-tokio", "_tls-rustls-ring-webpki", "any", "json", "migrate", "offline", "uuid"] } +sqlx-macros = { version = "0.8", features = ["_rt-tokio", "_tls-rustls-ring-webpki", "derive", "json", "macros", "migrate", "mysql", "postgres", "sqlite", "uuid"] } +sqlx-macros-core = { version = "0.8", features = ["_rt-tokio", "_tls-rustls-ring-webpki", "derive", "json", "macros", "migrate", "mysql", "postgres", "sqlite", "uuid"] } +sqlx-mysql = { version = "0.8", default-features = false, features = ["any", "json", "migrate", "offline", "uuid"] } +sqlx-postgres = { version = "0.8", default-features = false, features = ["any", "json", "migrate", "offline", "uuid"] } +sqlx-sqlite = { version = "0.8", default-features = false, features = ["any", "bundled", "json", "migrate", "offline", "uuid"] } +stable_deref_trait = { version = "1" } +subtle = { version = "2" } +syn = { version = "2", features = ["extra-traits", "fold", "full", "visit", "visit-mut"] } +textwrap = { version = "0.16" } +time = { version = "0.3", features = ["formatting", "local-offset", "macros", "parsing"] } +tokio = { version = "1", features = ["fs", "io-util", "macros", "net", "rt-multi-thread", "sync", "time"] } +toml-274715c4dabd11b0 = { package = "toml", version = "0.9", features = ["preserve_order"] } +toml-c38e5c1d305a1b54 = { package = "toml", version = "0.8", features = ["preserve_order"] } +toml_datetime = { version = "0.7", features = ["serde"] } +toml_parser = { version = "1" } +toml_writer = { version = "1" } +tracing = { version = "0.1", features = ["log"] } +tracing-core = { version = "0.1" } +tracing-log = { version = "0.2" } +uuid = { version = "1", features = ["fast-rng", "serde", "v4", "v7"] } +winnow = { version = "0.7" } +zeroize = { version = "1" } -# Disabled by running `cargo hakari disable`. -# To re-enable, run: -# cargo hakari generate ### END HAKARI SECTION diff --git a/runtime/pavex/Cargo.toml b/runtime/pavex/Cargo.toml index 54262807d..803709d9c 100644 --- a/runtime/pavex/Cargo.toml +++ b/runtime/pavex/Cargo.toml @@ -90,6 +90,7 @@ hyper-util = { workspace = true, features = [ socket2 = { workspace = true, optional = true } smallvec = { workspace = true } tracing_log_error = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../px_workspace_hack" } [dev-dependencies] tokio = { workspace = true, features = ["macros"] } diff --git a/runtime/pavex_macros/Cargo.toml b/runtime/pavex_macros/Cargo.toml index 0d950f8cf..4bbc25d67 100644 --- a/runtime/pavex_macros/Cargo.toml +++ b/runtime/pavex_macros/Cargo.toml @@ -24,6 +24,7 @@ proc-macro2 = { workspace = true } quote = { workspace = true } syn = { workspace = true, features = ["visit-mut"] } convert_case = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../px_workspace_hack" } [dev-dependencies] trybuild = { workspace = true } diff --git a/runtime/pavex_tracing/Cargo.toml b/runtime/pavex_tracing/Cargo.toml index c1c0dc841..30f7b31be 100644 --- a/runtime/pavex_tracing/Cargo.toml +++ b/runtime/pavex_tracing/Cargo.toml @@ -13,3 +13,4 @@ readme = "README.md" tracing = { workspace = true, features = ["std"] } tracing_log_error = { workspace = true } pavex = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../px_workspace_hack" } diff --git a/runtime/sessions/pavex_session/Cargo.toml b/runtime/sessions/pavex_session/Cargo.toml index 0b78f3fad..7ddd9a79c 100644 --- a/runtime/sessions/pavex_session/Cargo.toml +++ b/runtime/sessions/pavex_session/Cargo.toml @@ -23,6 +23,7 @@ tracing = { workspace = true } tokio = { workspace = true, features = ["rt"] } async-trait = { workspace = true } thiserror = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../../px_workspace_hack" } [dev-dependencies] static_assertions = { workspace = true } diff --git a/runtime/sessions/pavex_session_memory_store/Cargo.toml b/runtime/sessions/pavex_session_memory_store/Cargo.toml index f183825bf..8e5c5448d 100644 --- a/runtime/sessions/pavex_session_memory_store/Cargo.toml +++ b/runtime/sessions/pavex_session_memory_store/Cargo.toml @@ -17,3 +17,4 @@ serde_json = { workspace = true } async-trait = { workspace = true } tokio = { workspace = true, features = ["sync"] } tracing = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../../px_workspace_hack" } diff --git a/runtime/sessions/pavex_session_redis/Cargo.toml b/runtime/sessions/pavex_session_redis/Cargo.toml index c33fc8d0a..50966690a 100644 --- a/runtime/sessions/pavex_session_redis/Cargo.toml +++ b/runtime/sessions/pavex_session_redis/Cargo.toml @@ -18,6 +18,7 @@ tokio = { workspace = true } tracing = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } +px_workspace_hack = { version = "0.1", path = "../../../px_workspace_hack" } [dev-dependencies] uuid = { workspace = true } diff --git a/runtime/sessions/pavex_session_sqlx/Cargo.toml b/runtime/sessions/pavex_session_sqlx/Cargo.toml index 091e3fc48..b53d0492b 100644 --- a/runtime/sessions/pavex_session_sqlx/Cargo.toml +++ b/runtime/sessions/pavex_session_sqlx/Cargo.toml @@ -27,6 +27,7 @@ tokio = { workspace = true, features = ["sync"] } tracing = { workspace = true } anyhow = { workspace = true } sqlx = { workspace = true, default-features = true, features = ["uuid"] } +px_workspace_hack = { version = "0.1", path = "../../../px_workspace_hack" } [dev-dependencies] pavex_session_sqlx = { path = ".", features = ["postgres", "sqlite", "mysql"] }