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

CLI Roadmap #4317

Closed
richlander opened this issue Oct 14, 2015 · 9 comments
Closed

CLI Roadmap #4317

richlander opened this issue Oct 14, 2015 · 9 comments
Assignees
Milestone

Comments

@richlander
Copy link
Member

The dotnet CLI is a driver for a set of distinct and standalone commands. We need to prioritize these commands so that people can use them E2E for common tasks (like conference demos). These are broken into priorities.

Commands

This document just lists the command and doesn't explain what they do. It links to other issues that go into depth on those commands, as available. Some of these commands may not be the final syntax. We'll fix that.

Demo (--native)

Converge with DNX

  • dotnet publish
  • dotnet publish-web
  • dotnet restore dotnet/cli#79
  • dotnet run dotnet/cli#59
  • dotnet test
  • dotnet pack

Additional Features

Open Issues for toolchain convergence:

  • Resource/Satellite Assemblies (resgen + compile)
  • Global commands
  • NuGet integration (remove DNU Restore)
  • Build Events in Project.json
  • Performance
  • OSSSigning
  • Acquisition of toolchain
  • VB/F# Support

Hosting convergence:

  • Finding and installing shared runtimes (DNVM, shared hosting, servicing)
  • Assembly
  • Azure performance

Corefx usage of cli:

  • Using dotnet cli in corefx
  • Custom .NET directory structures
  • Integration with MSBuild

VSIntegration:

  • csproj and xproj
  • debugging
  • launching
  • Many more
  • VB/F# Support

Languages

P0

  • C#

P1

  • F#
  • VB
@TheRealPiotrP
Copy link
Contributor

AFAIK, compile --il is a pre-req for compile --native. Why do we need a separate compile --il, then?
compile, in one version of the story, did the end to end [restore, compile il, compile native]. Is that still the intent? Or do we now want the demo to issue several commands?

It would be nice to have issues per-command where these sorts of details are worked out...

@richlander
Copy link
Member Author

@piotrpMSFT You need to be able to compile IL EXEs and DLLs, too. This isn't a "native compilation toolchain". It needs to support ASP.NET 5 use cases.

I've now added a writeup for compile. That should help a lot. See dotnet/cli#48.

@blackdwarf blackdwarf self-assigned this Oct 16, 2015
@weshaggard
Copy link
Member

What is the intended configuration file for these commands? Is the project.json file intended to provide the necessary configuration information for all these commands? If project.json is the new project file how do we reconcile that with the msbuild project file? I've seen xproj's but I'm not sure how they connect exactly. At any rate it would be good to also include information on this in some spec as well.

@justinmchase
Copy link

When you add support for VB/F# it would be really nice if you added support for 3rd party languages as well. I would consider coming back to the .net community if there was a reasonable api for plugging new languages into this new system.

For example:

"language": "boo"

In the project file it would assume that my project is boo and would use the 3rd party compiler instead.

@dburriss
Copy link

Are custom commands going to be supported? I know there was something similar in dnx but I was almost sure there was documentation for doing this for the CLI but it seems I was wrong.

@blackdwarf
Copy link

@dburriss custom commands are supported on per-project basis. Global commands like what DNU provided with DNU commands are not going to be supported at least for V1.

@dburriss
Copy link

That is good to know. Are there any resources on getting started with custom commands? If we eventually got global commands would they be able to fill a space like gems in ruby or packages in node?
Eg.
RUBY

gem install jekyll
jekyll new SomeNewSite

DOTNET (hopeful)

dotnet install njekyll
dotnet njekyll new SomeNewSite

Note: njekyll doesn't exist as far as I know. Just an example.

@blackdwarf
Copy link

This document is now hopelessly outdated. I'm just going to close this issue.

@tugberkugurlu
Copy link

where is the up-to-date roadmap?

wli3 referenced this issue in wli3/cli Jul 14, 2017
…r NuGet package.

This allows us to put platform-specific dependencies in the NuGet package, and fixes the issue of getting FileNotFound 'System.Security.Cryptography.Algorithms' on net46 by adding that assembly to our NuGet package.

Along with this change, I refactored the nuspec to include all files under the "PackagesLayout" folder, which means we no longer have to duplicate each file.  "Build" just needs to place the file in the correct spot under "PackagesLayout".

Fix #45
wli3 referenced this issue in wli3/cli Sep 10, 2018
The target: PublishVersionFile fails to fire
@msftgits msftgits transferred this issue from dotnet/cli Jan 31, 2020
@msftgits msftgits added this to the Backlog milestone Jan 31, 2020
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

8 participants