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

Single integrated UI for all rust tooling #2238

Closed
brson opened this issue Apr 19, 2012 · 10 comments
Closed

Single integrated UI for all rust tooling #2238

brson opened this issue Apr 19, 2012 · 10 comments
Labels
A-driver Area: rustc_driver that ties everything together into the `rustc` compiler A-frontend Area: frontend (errors, parsing and HIR) C-enhancement Category: An issue proposing an enhancement or a PR with one. E-easy Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Milestone

Comments

@brson
Copy link
Contributor

brson commented Apr 19, 2012

As discussed in this week's meeting, let's create a single command-line interface that encompasses all of the rust tooling, and presents a simple and consistent experience for all aspects of rust programming.

We currently have three tools, rustc, cargo and rustdoc, and we will likely soon bee writing a bunch of new build logic for #2237.

Go has a go command that is a one-stop shop for working on go projects. We should learn from this. I thought this description of their motivation rang a bell:

An explicit goal for Go from the beginning was to be able to build Go code using only the information found in the
source itself, not needing to write a makefile or one of the many modern replacements for makefiles. If Go needed
a configuration file to explain how to build your program, then Go would have failed.

@brson
Copy link
Contributor Author

brson commented Apr 19, 2012

@pcwalton suggested we do something like git with git-foo subcommands and I agree. Furthermore, I suggest implementing it with dynamically loaded crates for each subcommand so that folks can use cargo to write and install new ones.

@graydon
Copy link
Contributor

graydon commented Dec 21, 2012

@Kimundi
Copy link
Member

Kimundi commented Feb 18, 2013

I implemented a first version (#5014). It just forwards arguments to rustc, rusti, rustdoc and rustpkg and adds a few convenient shortcuts.

@catamorphism
Copy link
Contributor

FIXMEs from the code for the rust tool:

// FIXME Make commands run and test emit proper file endings on winds
// FIXME Make run only accept source that emits an executable

@kud1ing
Copy link

kud1ing commented Mar 13, 2013

There is a rust tool now. Should this issue be closed in the tradition of opening follow-up issues for outstanding details?

@thestinger
Copy link
Contributor

@kud1ing: closing, thanks

@emberian
Copy link
Member

emberian commented Jan 6, 2014

Reopening, since rust is removed (unmaintained).

@emberian emberian reopened this Jan 6, 2014
@pnkfelix pnkfelix mentioned this issue Jan 7, 2014
@thestinger
Copy link
Contributor

I don't think we should have more than one frontend to the same tool, so I think we need to decide between a single tool or more than one. It's too much of a pain to support both, and having rust as a thin wrapper around the other was not pretty.

@alexchandel
Copy link

pcwalton's pretty printer, similar to go fmt.

Go also has go build, go clean, go test, and go run, similar to cargo build, cargo clean, cargo test, and cargo run; though Cargo adds the new, bench, and update commands.

Conceivably, in addition to rust build, rust clean, rust test, rust run, rust new, rust bench, rust update, rust doc, rust fmt, there would also be a rust compile for rustc.

And should rusti ever return, then just rust could begin the interpreter. The same goes for rust-bindgen being adopted and rust bindgen. This seems like a cleaner solution than the jumble of executables that currently exist.

@brson
Copy link
Contributor Author

brson commented Jan 13, 2015

No pressing need for this these days. Cargo handles most of what people use at the moment. I don't think this is happening any time soon.

@brson brson closed this as completed Jan 13, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-driver Area: rustc_driver that ties everything together into the `rustc` compiler A-frontend Area: frontend (errors, parsing and HIR) C-enhancement Category: An issue proposing an enhancement or a PR with one. E-easy Call for participation: Easy difficulty. Experience needed to fix: Not much. Good first issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

8 participants