fabric8io / fabric8-generator

a jboss forge add on for the fabric8 upstream and SaaS generator wizards
Apache License 2.0
1 stars 12 forks source link

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

Open omajid opened 7 years ago

omajid commented 7 years ago

https://github.com/fabric8io/fabric8-generator/blob/d9e0541b5589436793f8d06ee0517e39e87a7597/src/main/java/io/fabric8/forge/generator/che/CheStackDetector.java#L62

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

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

jstrachan commented 7 years ago

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?

unless just 1 che stack is enough?

jstrachan commented 7 years ago

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 commented 7 years ago

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 commented 7 years ago

@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 commented 7 years ago

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

omajid commented 7 years ago

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 commented 7 years ago

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