difftreelog
Merge commit 'e1eaabb7a756db2b7db5ffbe5e30bb53c72168b0' into gc-v2
in: master
12 files changed
.github/workflows/release.ymldiffbeforeafterboth54 strategy:54 strategy:55 matrix:55 matrix:56 target:56 target:57 # Tier 158 - aarch64-unknown-linux-gnu59 - i686-pc-windows-gnu60 - i686-pc-windows-msvc61 - i686-unknown-linux-gnu57 - x86_64-apple-darwin62 - x86_64-apple-darwin63 - x86_64-pc-windows-gnu58 - x86_64-pc-windows-msvc64 - x86_64-pc-windows-msvc59 - x86_64-unknown-linux-gnu65 - x86_64-unknown-linux-gnu6667 # Other60 - x86_64-unknown-linux-musl68 - x86_64-unknown-linux-musl61 include:69 include:70 - target: aarch64-unknown-linux-gnu71 os: ubuntu-latest72 bin: jrsonnet73 name: jrsonnet-linux-gnu-aarch6474 - target: i686-pc-windows-gnu75 os: windows-latest76 bin: jrsonnet.exe77 name: jrsonnet-windows-gnu-i686.exe78 - target: i686-pc-windows-msvc79 os: windows-latest80 bin: jrsonnet.exe81 name: jrsonnet-windows-msvc-i686.exe82 - target: i686-unknown-linux-gnu83 os: ubuntu-latest84 bin: jrsonnet85 name: jrsonnet-linux-gnu-i68662 - target: x86_64-apple-darwin86 - target: x86_64-apple-darwin63 os: macOS-latest87 os: macOS-latest64 bin: jrsonnet88 bin: jrsonnet65 name: jrsonnet-darwin-amd6489 name: jrsonnet-darwin-amd6490 - target: x86_64-pc-windows-gnu91 os: windows-latest92 bin: jrsonnet.exe93 name: jrsonnet-windows-gnu-amd64.exe66 - target: x86_64-pc-windows-msvc94 - target: x86_64-pc-windows-msvc67 os: windows-latest95 os: windows-latest68 bin: jrsonnet.exe96 bin: jrsonnet.exe87 - name: Checkout116 - name: Checkout88 uses: actions/checkout@v2117 uses: actions/checkout@v2118119 - name: Linux x86 cross compiler120 if: ${{ matrix.target == 'i686-unknown-linux-gnu' }}121 run: sudo apt install gcc-multilib122123 - name: Windows x86 cross compiler124 if: ${{ matrix.target == 'i686-pc-windows-gnu' }}125 uses: egor-tensin/setup-mingw@v2126 with:127 platform: x86128129 - name: ARM cross compiler130 if: ${{ matrix.target == 'aarch64-unknown-linux-gnu' }}131 uses: actions-rs/cargo@v1132 with:133 command: install134 args: cross135136 - name: ARM gcc137 if: ${{ matrix.target == 'aarch64-unknown-linux-gnu' }}138 run: sudo apt install gcc-aarch64-linux-gnu139140 - name: Run ARM build141 if: ${{ matrix.target == 'aarch64-unknown-linux-gnu' }}142 shell: bash143 run: cross build --bin=jrsonnet --release --target ${{ matrix.target }}144145 - name: Run ARM strip146 if: ${{ matrix.target == 'aarch64-unknown-linux-gnu' }}147 shell: bash148 run: aarch64-linux-gnu-strip target/${{ matrix.target }}/release/${{ matrix.bin }}8914990 - name: Run build150 - name: Run build151 if: ${{ matrix.target != 'aarch64-unknown-linux-gnu' }}91 uses: actions-rs/cargo@v1152 uses: actions-rs/cargo@v192 with:153 with:93 command: build154 command: build94 args: --bin=jrsonnet --release --target ${{ matrix.target }}155 args: --bin=jrsonnet --release --target ${{ matrix.target }}156157 - name: Run strip158 if: ${{ matrix.target != 'aarch64-unknown-linux-gnu' }}159 shell: bash160 run: strip target/${{ matrix.target }}/release/${{ matrix.bin }}9516196 - name: Package162 - name: Package97 shell: bash163 shell: bash98 run: |164 run: |99 strip target/${{ matrix.target }}/release/${{ matrix.bin }}165 cd target/${{ matrix.target }}/release100 cd target/${{ matrix.target }}/release166101167 cp ${{ matrix.bin }} ../../../${{ matrix.name }}102 cp ${{ matrix.bin }} ../../../${{ matrix.name }}168 cd -103 cd -104169105 - name: Generate SHA-256170 - name: Generate SHA-256106 run: shasum -a 256 ${{ matrix.name }} > ${{ matrix.name }}.sha256171 run: shasum -a 256 ${{ matrix.name }} > ${{ matrix.name }}.sha256Cargo.lockdiffbeforeafterboth65[[package]]65[[package]]66name = "clap"66name = "clap"67version = "3.0.0-beta.2"67version = "3.0.0-beta.2"68source = "registry+https://github.com/rust-lang/crates.io-index"68source = "git+https://github.com/clap-rs/clap?rev=92f744cc49d12d32261010d355dc215a6d2487b9#92f744cc49d12d32261010d355dc215a6d2487b9"69checksum = "4bd1061998a501ee7d4b6d449020df3266ca3124b941ec56cf2005c3779ca142"70dependencies = [69dependencies = [71 "atty",70 "atty",72 "bitflags",71 "bitflags",77 "strsim",76 "strsim",78 "termcolor",77 "termcolor",79 "textwrap",78 "textwrap",80 "unicode-width",81 "vec_map",79 "vec_map",82]80]838184[[package]]82[[package]]85name = "clap_derive"83name = "clap_derive"86version = "3.0.0-beta.2"84version = "3.0.0-beta.2"87source = "registry+https://github.com/rust-lang/crates.io-index"85source = "git+https://github.com/clap-rs/clap?rev=92f744cc49d12d32261010d355dc215a6d2487b9#92f744cc49d12d32261010d355dc215a6d2487b9"88checksum = "370f715b81112975b1b69db93e0b56ea4cd4e5002ac43b2da8474106a54096a1"89dependencies = [86dependencies = [90 "heck",87 "heck",91 "proc-macro-error",88 "proc-macro-error",97[[package]]94[[package]]98name = "clap_generate"95name = "clap_generate"99version = "3.0.0-beta.2"96version = "3.0.0-beta.2"100source = "registry+https://github.com/rust-lang/crates.io-index"97source = "git+https://github.com/clap-rs/clap?rev=92f744cc49d12d32261010d355dc215a6d2487b9#92f744cc49d12d32261010d355dc215a6d2487b9"101checksum = "adf420f8b687b628d2915ccfd43a660c437a170432e3fbcb66944e8717a0d68f"102dependencies = [98dependencies = [103 "clap",99 "clap",104]100]166162167[[package]]163[[package]]168name = "jrsonnet"164name = "jrsonnet"169version = "0.3.7"165version = "0.3.8"170dependencies = [166dependencies = [171 "clap",167 "clap",172 "clap_generate",168 "clap_generate",179175180[[package]]176[[package]]181name = "jrsonnet-cli"177name = "jrsonnet-cli"182version = "0.3.7"178version = "0.3.8"183dependencies = [179dependencies = [184 "clap",180 "clap",185 "jrsonnet-evaluator",181 "jrsonnet-evaluator",188184189[[package]]185[[package]]190name = "jrsonnet-evaluator"186name = "jrsonnet-evaluator"191version = "0.3.7"187version = "0.3.8"192dependencies = [188dependencies = [193 "annotate-snippets",189 "annotate-snippets",194 "anyhow",190 "anyhow",209205210[[package]]206[[package]]211name = "jrsonnet-interner"207name = "jrsonnet-interner"212version = "0.3.7"208version = "0.3.8"213dependencies = [209dependencies = [214 "gc",210 "gc",215 "rustc-hash",211 "rustc-hash",218214219[[package]]215[[package]]220name = "jrsonnet-parser"216name = "jrsonnet-parser"221version = "0.3.7"217version = "0.3.8"222dependencies = [218dependencies = [223 "gc",219 "gc",224 "jrsonnet-interner",220 "jrsonnet-interner",230226231[[package]]227[[package]]232name = "jrsonnet-stdlib"228name = "jrsonnet-stdlib"233version = "0.3.7"229version = "0.3.8"234230235[[package]]231[[package]]236name = "jrsonnet-types"232name = "jrsonnet-types"237version = "0.3.7"233version = "0.3.8"238dependencies = [234dependencies = [239 "gc",235 "gc",240 "peg",236 "peg",241]237]242238243[[package]]239[[package]]244name = "jsonnet"240name = "jsonnet"245version = "0.3.7"241version = "0.3.8"246dependencies = [242dependencies = [247 "jrsonnet-evaluator",243 "jrsonnet-evaluator",248 "jrsonnet-interner",244 "jrsonnet-interner",288284289[[package]]285[[package]]290name = "os_str_bytes"286name = "os_str_bytes"291version = "2.4.0"287version = "3.0.0"292source = "registry+https://github.com/rust-lang/crates.io-index"288source = "registry+https://github.com/rust-lang/crates.io-index"293checksum = "afb2e1c3ee07430c2cf76151675e583e0f19985fa6efae47d6848a3e2c824f85"289checksum = "e293568965aea261bdf010db17df7030e3c9a275c415d51d6112f7cf9b7af012"294290295[[package]]291[[package]]296name = "pathdiff"292name = "pathdiff"450446451[[package]]447[[package]]452name = "textwrap"448name = "textwrap"453version = "0.12.1"449version = "0.13.4"454source = "registry+https://github.com/rust-lang/crates.io-index"450source = "registry+https://github.com/rust-lang/crates.io-index"455checksum = "203008d98caf094106cfaba70acfed15e18ed3ddb7d94e49baec153a2b462789"451checksum = "cd05616119e612a8041ef58f2b578906cc2531a6069047ae092cfb86a325d835"456dependencies = [452dependencies = [457 "unicode-width",453 "unicode-width",458]454]README.mddiffbeforeafterboth161617In the end, it's always fun to implement something in Rust.17In the end, it's always fun to implement something in Rust.181819## How to install?2021We build x64 binaries for Apple, Windows MSVC, and Linux GNU during the release process. If your system is one of those, you can check out the [latest release](https://github.com/CertainLach/jrsonnet/releases/latest) to get your pre-built binary. Otherwise, you'll need to have a rust toolchain and install the package through cargo with `cargo install jrsonnet`.2223## Compliance with the [specification](https://jsonnet.org/ref/spec.html)19## Compliance with the [specification](https://jsonnet.org/ref/spec.html)242025- Passes all the original `examples` tests21- Passes all the original `examples` testsbindings/jsonnet/Cargo.tomldiffbeforeafterboth1[package]1[package]2name = "jsonnet"2name = "jsonnet"3description = "Rust implementation of libjsonnet.so"3description = "Rust implementation of libjsonnet.so"4version = "0.3.7"4version = "0.3.8"5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]6license = "MIT"6license = "MIT"7edition = "2018"7edition = "2018"8publish = false8publish = false9910[dependencies]10[dependencies]11jrsonnet-interner = { path = "../../crates/jrsonnet-interner", version = "0.3.7" }11jrsonnet-interner = { path = "../../crates/jrsonnet-interner", version = "0.3.8" }12jrsonnet-evaluator = { path = "../../crates/jrsonnet-evaluator", version = "0.3.7" }12jrsonnet-evaluator = { path = "../../crates/jrsonnet-evaluator", version = "0.3.8" }13jrsonnet-parser = { path = "../../crates/jrsonnet-parser", version = "0.3.7" }13jrsonnet-parser = { path = "../../crates/jrsonnet-parser", version = "0.3.8" }141415[lib]15[lib]16crate-type = ["cdylib"]16crate-type = ["cdylib"]cmds/jrsonnet/Cargo.tomldiffbeforeafterboth1[package]1[package]2name = "jrsonnet"2name = "jrsonnet"3description = "Rust jsonnet implementation"3description = "Rust jsonnet implementation"4version = "0.3.7"4version = "0.3.8"5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]6license = "MIT"6license = "MIT"7edition = "2018"7edition = "2018"8publish = false899[features]10[features]10default = []11default = []11# Use mimalloc as allocator12# Use mimalloc as allocator12mimalloc = []13mimalloc = []131414[dependencies]15[dependencies]15jrsonnet-evaluator = { path = "../../crates/jrsonnet-evaluator", version = "0.3.7" }16jrsonnet-evaluator = { path = "../../crates/jrsonnet-evaluator", version = "0.3.8" }16jrsonnet-parser = { path = "../../crates/jrsonnet-parser", version = "0.3.7" }17jrsonnet-parser = { path = "../../crates/jrsonnet-parser", version = "0.3.8" }17jrsonnet-cli = { path = "../../crates/jrsonnet-cli", version = "0.3.7" }18jrsonnet-cli = { path = "../../crates/jrsonnet-cli", version = "0.3.8" }18# TODO: Fix mimalloc compile errors, and use them19# TODO: Fix mimalloc compile errors, and use them19mimallocator = { version = "0.1.3", optional = true }20mimallocator = { version = "0.1.3", optional = true }20thiserror = "1.0"21thiserror = "1.0"2221clap = "3.0.0-beta.2"23[dependencies.clap]24git = "https://github.com/clap-rs/clap"25rev = "92f744cc49d12d32261010d355dc215a6d2487b9"2622clap_generate = "3.0.0-beta.2"27[dependencies.clap_generate]28git = "https://github.com/clap-rs/clap"29rev = "92f744cc49d12d32261010d355dc215a6d2487b9"2330crates/jrsonnet-cli/Cargo.tomldiffbeforeafterboth1[package]1[package]2name = "jrsonnet-cli"2name = "jrsonnet-cli"3description = "Utilities for building jrsonnet CLIs"3description = "Utilities for building jrsonnet CLIs"4version = "0.3.7"4version = "0.3.8"5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]6license = "MIT"6license = "MIT"7edition = "2018"7edition = "2018"8publish = false899[dependencies]10[dependencies]10jrsonnet-evaluator = { path = "../../crates/jrsonnet-evaluator", version = "0.3.7", features = ["explaining-traces"] }11jrsonnet-evaluator = { path = "../../crates/jrsonnet-evaluator", version = "0.3.6", features = ["explaining-traces"] }11jrsonnet-parser = { path = "../../crates/jrsonnet-parser", version = "0.3.7" }12jrsonnet-parser = { path = "../../crates/jrsonnet-parser", version = "0.3.6" }12clap = "3.0.0-beta.2"1314[dependencies.clap]15git = "https://github.com/clap-rs/clap"16rev = "92f744cc49d12d32261010d355dc215a6d2487b9"1317crates/jrsonnet-evaluator/Cargo.tomldiffbeforeafterboth1[package]1[package]2name = "jrsonnet-evaluator"2name = "jrsonnet-evaluator"3description = "jsonnet interpreter"3description = "jsonnet interpreter"4version = "0.3.7"4version = "0.3.8"5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]6license = "MIT"6license = "MIT"7edition = "2018"7edition = "2018"24unstable = []24unstable = []252526[dependencies]26[dependencies]27jrsonnet-interner = { path = "../jrsonnet-interner", version = "0.3.7" }27jrsonnet-interner = { path = "../jrsonnet-interner", version = "0.3.8" }28jrsonnet-parser = { path = "../jrsonnet-parser", version = "0.3.7" }28jrsonnet-parser = { path = "../jrsonnet-parser", version = "0.3.8" }29jrsonnet-stdlib = { path = "../jrsonnet-stdlib", version = "0.3.7" }29jrsonnet-stdlib = { path = "../jrsonnet-stdlib", version = "0.3.8" }30jrsonnet-types = { path = "../jrsonnet-types", version = "0.3.7" }30jrsonnet-types = { path = "../jrsonnet-types", version = "0.3.8" }31pathdiff = "0.2.0"31pathdiff = "0.2.0"323233md5 = "0.7.0"33md5 = "0.7.0"61optional = true61optional = true626263[build-dependencies]63[build-dependencies]64jrsonnet-parser = { path = "../jrsonnet-parser", features = ["serialize", "deserialize"], version = "0.3.7" }64jrsonnet-parser = { path = "../jrsonnet-parser", features = ["serialize", "deserialize"], version = "0.3.8" }65jrsonnet-stdlib = { path = "../jrsonnet-stdlib", version = "0.3.7" }65jrsonnet-stdlib = { path = "../jrsonnet-stdlib", version = "0.3.8" }66serde = "1.0"66serde = "1.0"67bincode = "1.3.1"67bincode = "1.3.1"6868crates/jrsonnet-interner/.gitignorediffbeforeafterbothno changes
crates/jrsonnet-interner/Cargo.tomldiffbeforeafterboth1[package]1[package]2name = "jrsonnet-interner"2name = "jrsonnet-interner"3description = "Jrsonnet string interning"3description = "Jrsonnet string interning"4version = "0.3.7"4version = "0.3.8"5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]6license = "MIT"6license = "MIT"7edition = "2018"7edition = "2018"crates/jrsonnet-parser/Cargo.tomldiffbeforeafterboth1[package]1[package]2name = "jrsonnet-parser"2name = "jrsonnet-parser"3description = "jsonnet language parser and AST"3description = "jsonnet language parser and AST"4version = "0.3.7"4version = "0.3.8"5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]6license = "MIT"6license = "MIT"7edition = "2018"7edition = "2018"12deserialize = ["serde"]12deserialize = ["serde"]131314[dependencies]14[dependencies]15jrsonnet-interner = { path = "../jrsonnet-interner", version = "0.3.7" }15jrsonnet-interner = { path = "../jrsonnet-interner", version = "0.3.8" }161617peg = "0.7.0"17peg = "0.7.0"18unescape = "0.1.0"18unescape = "0.1.0"21gc = { version = "0.4.1", features = ["derive"] }21gc = { version = "0.4.1", features = ["derive"] }222223[dev-dependencies]23[dev-dependencies]24jrsonnet-stdlib = { path = "../jrsonnet-stdlib", version = "0.3.7" }24jrsonnet-stdlib = { path = "../jrsonnet-stdlib", version = "0.3.8" }2525crates/jrsonnet-stdlib/Cargo.tomldiffbeforeafterboth1[package]1[package]2name = "jrsonnet-stdlib"2name = "jrsonnet-stdlib"3description = "jsonnet standard library packaged as crate"3description = "jsonnet standard library packaged as crate"4version = "0.3.7"4version = "0.3.8"5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]6license = "MIT"6license = "MIT"7edition = "2018"7edition = "2018"89[features]1011[dependencies]812crates/jrsonnet-types/Cargo.tomldiffbeforeafterboth1[package]1[package]2name = "jrsonnet-types"2name = "jrsonnet-types"3description = "Jrsonnet type system definition"3description = "Jrsonnet type system definition"4version = "0.3.7"4version = "0.3.8"5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]5authors = ["Yaroslav Bolyukin <iam@lach.pw>"]6license = "MIT"6license = "MIT"7edition = "2018"7edition = "2018"