Skip to content
This repository has been archived by the owner on Feb 16, 2018. It is now read-only.

[.NET Core 2.0] Add stack detector for .NET Core 2.0 #47

Open
omajid opened this issue Aug 22, 2017 · 7 comments
Open

[.NET Core 2.0] Add stack detector for .NET Core 2.0 #47

omajid opened this issue Aug 22, 2017 · 7 comments

Comments

@omajid
Copy link

omajid commented Aug 22, 2017

public static CheStack detectCheStack(UIContext context, org.jboss.forge.addon.projects.Project project, PomFileXml pom) {

.NET Core projects use either a solution (*.sln) file - if the repository contains multiple projects - or the following more specific project types:

  • *.csproj for C#
  • *.vbproj for VB.NET
  • *.fsproj for F#

We should look for these files and use them to identify the right che stack to use.

@jstrachan
Copy link
Contributor

jstrachan commented Aug 23, 2017

would we have 3 separate che stacks for C#, VB.NET and F#? or just one?

how about if we go with these rules for che stack mappings?

  • *.csproj => dotnet-cs
  • *.vbproj => dotnet-vb
  • *.fsproj => dotnet-fs
  • *.sln => dotnet

unless just 1 che stack is enough?

@jstrachan
Copy link
Contributor

I should have asked the obvious question first I guess - do we have any Che stack(s) for .Net Core 2.0 yet and if so what are they called?

@omajid
Copy link
Author

omajid commented Aug 23, 2017

Do we have any Che stack(s) for .Net Core 2.0 yet

dotnet-default here: https://github.com/eclipse/che/blob/master/ide/che-core-ide-stacks/src/main/resources/stacks.json#L405

@dharmit, do you know what the name of the final RHEL and/or CentOS-based dotnet stack will be?

would we have 3 separate che stacks for C#, VB.NET and F#? or just one?

A single dotnet command can generally operate on all types of projects. From a language-tooling perspective, one stack should be enough.

Then again, I don't know if something from che (such as language server for C# vs F#) may require us to use separate stacks. @gorkem Do you have any suggestions?

@dharmit
Copy link

dharmit commented Aug 23, 2017

@dharmit, do you know what the name of the final RHEL and/or CentOS-based dotnet stack will be?

registry.centos.org/che-stacks/dotnet20 unless you'd prefer something else for the CentOS based stack.

@gorkem
Copy link

gorkem commented Aug 23, 2017

Che has only C# LSP support which was tested against this stack earlier

@omajid
Copy link
Author

omajid commented Aug 23, 2017

registry.centos.org/che-stacks/dotnet20 unless you'd prefer something else for the CentOS based stack.

Whatever the current conventions are! I know the rhel container (not stack, no che integration, just a basic s2i container for .NET Core 2.0) is called registry.access.redhat.com/dotnet/dotnet-20-rhel7. There is also a smaller runtime container called registry.access.redhat.com/dotnet/dotnet-20-runtime-rhel7

@omajid
Copy link
Author

omajid commented Aug 28, 2017

I have an example at https://github.com/omajid/HelloWorld/, specifically the new-project tag. OpenShift.io imports this but identifies the stack incorrectly:

incorrect-stack

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants