Repo tools
@enricosada is already working on this.
Since Jan 23, 2018.
- Dominant language
- F#
- Stars
- 2.1k
- Forks
- 528
- Avg merge
- 1d 12m
- Merged PRs (30d)
- 54
Description
We need console app (tools from now on) for lots of reason in development.
Some are helpers for dev (dotnet-watch, serve, forge, ildasm).
Some are needed by build (nunit-console, ilrepack) or for both (fake, dotnet-fable, dotnet-xunit)
While the former (dev tools) MAY not need to be versioned with codebase, the latter (for build, for both) should be to make build reproducible.
Tools should be easy to install, nice developer UX from cli, easy runnable from shell scripts, multi os and runtimes, versioned with repo (if needed), can be invoked by any third party tooling.
paket should be able to manage per repo tool.
why? after restore
fake(orpaket run fake) with the avaiabile runtime (.net or .net core)fable(orpaket run fable) who will work in any dir
Similar: npm run <cmd>, yarn run <cmd>, bundle exec <cmd> (and binstubs), cargo <cmd>
An example of proposed is in https://github.com/enricosada/paket-repotool-testing/ ready to clone and use. it's the result of the WIP PR https://github.com/fsprojects/Paket/pull/2938 and will be maintained until is merged
We need two things:
- binaries (per framework runtime)
- invocation
For example. for an hello tool (who is just a .net console app)
the binaries ( see also below), we can package in a nupkg, in tools/netcoreapp/hello.dll, and tools/net45/hello.exe.
Or just from github releases
For invocation:
- create a
paket-files\paket\bindirectory - put some wrapper script
hello/hello.cmdwho just rundotnet /path/to/tools/netcoreapp/hello.dllormono /path/to/tools/net45/hello.exe - and
paket run hello(who just invoke that script file)
adding in a dir the wrapper script, helps because is possibile to add it to PATH, and run commands just as hello.
More info https://github.com/enricosada/paket-repotool-testing/ README
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.