Skip to content
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

beforeBuildCommand doesn't run in a shell #1295

Closed
gabcoh opened this issue Feb 24, 2021 · 1 comment
Closed

beforeBuildCommand doesn't run in a shell #1295

gabcoh opened this issue Feb 24, 2021 · 1 comment

Comments

@gabcoh
Copy link
Contributor

gabcoh commented Feb 24, 2021

Describe the bug
The beforeBuildCommand key in src-tauri/tauri.conf.json is not run in a shell. It is split by spaces and then the first word becomes the command and the rest are the arguments. Quoting is not respected and you can not run commands like cd dir && command. As of 164e3a4 beforeDevCommand is run in a shell, but it seems like in dev both beforeBuildCommand and beforeDevCommand are run by splitting on spaces.

To Reproduce
Steps to reproduce the behavior:

  1. Create a new project
  2. set beforeBuildCommand in src-tauri/tauri.conf.json to echo A && echo B
  3. run yarn tauri build
  4. A && echo B is printed
    Expected behavior
    This should be printed
A
B

Screenshots
If applicable, add screenshots to help explain your problem.

Platform and Versions (please complete the following information):

OS: linux
Node: 15.8.0
NPM: 6.14.11
Yarn: 1.22.10
Rustc: 1.50.0

Additional context
Add any other context about the problem here.

Stack Trace

@gabcoh
Copy link
Contributor Author

gabcoh commented Feb 25, 2021

This seems like a pretty easy fix. At least on Mac and Linux you could just run the command through sh -c, but I'm not sure what the equivalent is for windows.

jbolda added a commit that referenced this issue Apr 11, 2021
* chore(deps) Update Tauri JS CLI (#1319)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps) Update Tauri Core (#1318)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps) Update Tauri API (#1316)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps) Update Rust crate serde_json to 1.0.64 (#1315)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps) Update Rust crate once_cell to 1.7.2 (#1314)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps) Update Rust crate image to 0.23.14 (#1313)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* feat(cli/build): improve no distDir error message (#1306)

* feat(cli/build): improve no distDir error message

* chore: use Path's Display impl

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>

* chore(deps) Update Tauri API Definitions (#1317)

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>

* feat(bundler/wix): install webview2 runtime (#1329)

* feat(bundler/wix): install webview2 runtime

* add changefile

* chore(deps) Update Tauri API Definitions (major) (#1290)

* chore(deps) Update Tauri API Definitions

* chore: update to husky v5

* chore: remove husky script

* chore: recreate lock file

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>

* chore(deps) Update Tauri JS CLI (#1291)

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>

* refactor(core): app hooks (#1332)

* fix(api/window): rename manager export to appWindow (#1342)

* feat(api/shell): allow open command to open files (#1341)

* chore(deps) Update Tauri API Definitions (#1344)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps) Update Rust crate tokio to 1.3 (#1343)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps) Update Rust crate open to 1.6.0 (#1348)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* fix(core): wrong usage of wry RPC on event API (#1351)

* copy cli config definition window visibility defaults (#1353)

* feat(core): add file drop handler (#1352)

* fix: get correct resource dir in AppImge (fix #1308) (#1333)

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>

* feat: build without proc macros (#1226)

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>

* chore(deps) Update Tauri JS CLI (#1346)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* refactor(core): use Mutex in std to reduce async usage (#1350)

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>

* fix(examples): build error (#1354)

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>

* API example new ui (#1310)

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>

* chore(deps): remove `winres` from template (#1357)

* refactor(core): add `unlisten`, `once` APIs to the event system (#1359)

* fix(cli): use correct arg in `_blanks` links polyfill (#1362)

* fix(api/http): correct types (#1360)

* fix(api/http): correct types

* Add changes

* Update correct-http-api-types.md

* chore(deps) Update Tauri JS CLI (#1364)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps) Update Tauri API Definitions (#1363)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* fix(tauri/webview): Use different user_data_path for Windows (#1365) (#1366)

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>

* fix(config): serde_json::Value::Object takes a Map instead of HashMap (#1371)

* fix(config): serde_json::Value::Object takes a Map instead of HashMap

* fix: fmt

* fix(tauri.js): init command properly building with manifests (#1374)

* fix(tauri.js): init command properly building with manifests

* fix: tests

* feat(bundler): add visual c++ redistributable files with MSM (#1368)

* refactor(core): reduce usage on arc and mutex (#1361)

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>

* feat(config): allow setting product name and version on tauri.conf.json (#1358)

* feat: add current working directory to path api module (#1375)

* refactor(core): move bundle script to /tauri crate (#1377)

* refactor(core): move bundle script to /tauri crate

* fix(cli): clippy

* fix(core): tests

* refactor(core): custom protocol URL uses the app identifier (#1376)

* refactor(core): custom protocol URL uses the app identifier

* fix: clippy

* fix(tauri-api): remove .exe from app_name on windows (#1379)

* chore(deps) Update Tauri API Definitions (#1384)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps) Update Rust crate tokio to 1.4 (#1383)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* fix(cli): prmpt user before install deps in init (#1381)

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>

* chore(deps) Update dependency rollup to v2.42.4 (#1386)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* refactor(cli): rewrite init command in Rust (#1382)

Co-authored-by: nothingismagick <denjell@mailscript.com>

* refactor(bundler): specific settings on dedicated structs, update README (#1380)

* replace lazy_static uses with once_cell (#1391)

* chore(deps) Update Tauri JS CLI (#1385)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* refactor(cli): rewrite info in Rust (#1389)

* refactor(core): remove async from app hooks, add InvokeMessage type (#1392)

* fix(cli): disable custom-protocol feature on dev command (#1393)

* Fix extremely slow dev builds caused by embedding + compressing assets at compile time (#1395)

* feat(bundler) code signing (#473)

Co-authored-by: Rajiv Shah <rajivshah1@icloud.com>
Co-authored-by: David Lemarier <david@lemarier.ca>

* feat(cli): run beforeDev and beforeBuild in a shell, closes #1295 (#1399)

* update to sharp 0.28.0 for cpu arm (m1) (#1404)

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>

* feat(cli): propagate args passed after `dev --`, closes #1406 (#1407)

* refactor(api): use secure RNG, closes #1356 (#1398)

* chore(deps) Update Tauri API Definitions (#1411)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps) Update Rust crate rfd to 0.2.2 (#1410)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps) Update Tauri CLI (#1413)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps) Update Tauri Bundler (#1412)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* refactor(core): rewrite shell execute API, closes #1229 (#1408)

* chore(deps) Update dependency @rollup/plugin-commonjs to v18 (#1415)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps) Update Tauri JS CLI (#1414)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* fix: asset resolution on debug mode

* fix(core): ignore query string on custom protocol asset resolver (#1420)

* wire up existing and adjust recipe configuration

* merge dev

* fix default app name

* clean up vanillajs and proper pass args

* use scaffe to copy the react templates

* fix(api): remove cjs, rename .mjs to .js

* chore: tauri.js dead code elim (#1422)

* remove templates, only used it CTA

* help command is empty, remove

* delete files that aren't imported / required

* set files array to ignore src and config files

* remove unused deps

* add arch notes for future ref

* change file

* allow specifying a binary

* resolve last bits to reach scaffe

* adjust vanilla js template dir path

Co-authored-by: Sanket Chaudhari <chaudharisanket2000@gmail.com>

* fix up cra scaffolding

* remove none and rely on vanillajs

* log shell commands

* remove no recipe question branch

* shift react template for better overwrite copying

* update deps

* simple readme

* implement dep manager

* pretty

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Noah Klayman <noahklayman@gmail.com>
Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Co-authored-by: Lucas Fernandes Nogueira <lucasfernandesnog@gmail.com>
Co-authored-by: chip <chip@chip.sh>
Co-authored-by: Gabe Cohen <gcc3.14@gmail.com>
Co-authored-by: Ngo Iok Ui (Wu Yu Wei) <wusyong9104@gmail.com>
Co-authored-by: Alve Larsson <larsalvelarsson@gmail.com>
Co-authored-by: Amr Bashir <48618675+amrbashir@users.noreply.github.com>
Co-authored-by: Kid <44045911+kidonng@users.noreply.github.com>
Co-authored-by: david <david@lemarier.ca>
Co-authored-by: nothingismagick <denjell@mailscript.com>
Co-authored-by: William <william@venner.io>
Co-authored-by: Rajiv Shah <rajivshah1@icloud.com>
Co-authored-by: Mehdi Rezaei <mehdiraized@gmail.com>
Co-authored-by: Sanket Chaudhari <chaudharisanket2000@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant