Unverified Commit ec118fff authored by Andrew Jones's avatar Andrew Jones Committed by GitHub
Browse files

Reduce wasm binary size with `cargo-xbuild` & removing `rlib` crate-type (#33)

* WIP: building wasm with xargo

* Fix compilation errors

* Fmt

* Run commands with `rustup run nightly`

* Pass separate link-args in rustflags for xargo compat

* Warn user if 'rlib' crate type

* Colourise printed error

* Ignore Xargo.toml in template

* Refactor Xargo file generation, only remove if generated.

* WIP: Add rlib crate-type when generating metadata

* Add rlib when building metadata, remove when building wasm

* Fmt

* Make error bright red

* Fix generating without modified Cargo.toml

* Don't need to check nightly installed, the command will fail

* Only load toml when ready to modify: allow for multi usage

* Fmt

* Show error context

* Debug crate metadata

* Disable rlib by default for template

* Use correct working dir, not workspace root

* Use `cargo-xbuild` as lib

* Check for nightly channel

* Check for correct xbuild configuration

* Add xbuild config to template

* Fix xbuild config check and use latest xbuild version

* Fmt

* Restore tempfile dev dependency

* Move xbuild config to the end of the file

* Enable rlib by default in template

* Don't need nightly for generating the metadata

* Actually do need nightly, and just run plain cargo

* Not verbose: need to pass that flag through properly

* Fmt

* Fix tests

* Error when xbuild config not present, and update README

* Fix tests

* Remove references to xargo and update readmes

* Fmt

* Add error context to cargo invocation

* Fix tests compilation

* Fmt

* Nightly toolchain for CI

* Add docs for nightly toolchain requirement

* Link to nightly docs

* Disable backtrace on CI

* Make tests pass

* Install rust-src

* Disable backtrace to make tests pass

* Move args closer to invocation

* Create temporary Cargo.toml

* Rework temp manifest api

* Target dir is already absolute

* temp dir prefix

* xbuild config with sysroot path and explicit args

* Use custom xbuild branch

* Remove check for xbuild config

* Rewrite relatives paths when using temp file

* Fix dependency path rewrite

* Update cargo-xbuild

* workspaces: parse workspace member manifests

* WIP workspaces

* Implement temp workspace copy

* Fmt

* Rewrite bin relative path

* Handle package rename for contracts

* Fmt

* Pass rustflags by setting env var

* Fmt

* Use abs path for lib default

* Add 1 decimal place to file size

* Make generate-metadata work, introduces ManifestPath

* Fmt

* cargo update

* Rename manifest to workspace

* Fix test compilation and fmt

* Fix link

* Add prerequisites section to readme

* Remove rust-src component (added to image)

* Fix deploy build

* Use builder like method for amending root manifest

* List installed components

* Show active-toolchain and whether rust-src installed

* Install nightly rust-src (temporary)

* Fix metadata test

* Fmt

* Remove manual install of rust-src and diagnostics

* More doc comments

* Add verbosity flags

* Add verbosity flags to metadata command

* Fix working dir for generate-metadata

* Add verbosity to tests

* Add verbosity to tests

* Make url optional and cargo update

* Remove bk file from gitignore

* Bump version

* Fix comment and formatting

* Add CHANGELOG.md
parent 15afa280
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment