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

Fake target InstallDotNetCore #79

Closed
MangelMaxime opened this issue May 3, 2018 · 22 comments
Closed

Fake target InstallDotNetCore #79

MangelMaxime opened this issue May 3, 2018 · 22 comments

Comments

@MangelMaxime
Copy link
Contributor

Do we really need the InstallDotNetCore target ?

If the user want to use the template they need to have dotnet already installed. I am asking because, when contributing to a new project this is really painful to have this target.

I always comment it so it doesn't download dotnet each time I switch from one project to another.

But perhaps there is good reason for it.

@isaacabraham
Copy link
Member

I think the only way it can be useful is if it upgrades the local machine when we upgrade the template to the latest SDK. But for clean machines there's no point is there?.

@MangelMaxime
Copy link
Contributor Author

Upgrading local machine can be seen as dangerous I think. It will not impact only the template but all the project on the user system.

@isaacabraham
Copy link
Member

Agreed. I'm happy to remove that task.

@forki
Copy link
Member

forki commented May 3, 2018

I vote to keep it. It's very useful for the rest of the team and it upgrades the stuff for everyone if you touch global.json

@isaacabraham
Copy link
Member

isaacabraham commented May 3, 2018

I think that's a separate concern though. I've been burned by this - what if you run a project with an old global.json and it overwrites what you already have? Alternatively, you may not want to upgrade - this happens without your evening knowing.

@forki
Copy link
Member

forki commented May 3, 2018

not project.json - global.json

and that file is .NET Core best practice

@isaacabraham
Copy link
Member

Yeah, sorry - typo. I know they're different :-) Still not sure that's really what we want but open to being educated :-)

@MangelMaxime
Copy link
Contributor Author

MangelMaxime commented May 3, 2018

If you think this is the good way I am ok with that :)

It's just take forever (5 to 15minutes) to do the first build. And I suppose my issue is more because I work on a lot of project and it's annoying when each one download his own version of dotnet by erasing the previous ones.

What I am trying to say, his perhaps this not an issue for SAFE-Template because in general people with want to use it for their work and not some OSS project (library, etc.).

@isaacabraham
Copy link
Member

First run time is super important. It's already long enough with Paket and Yarn downloading the universe.

@forki
Copy link
Member

forki commented May 3, 2018

It won't take forever if you already have the correct version.

@MangelMaxime
Copy link
Contributor Author

Perhaps, we could simply make it an option in the template ?

@forki
Copy link
Member

forki commented May 3, 2018

sure that would work

@isaacabraham
Copy link
Member

And turn it off by default. Especially if you have multiple projects this will just end up ping-ponging between versions.

@forki
Copy link
Member

forki commented May 3, 2018 via email

@theimowski
Copy link
Member

If we make it an option, no one is ever going to use it I'm afraid.
Is there any ready-to-use mechanism to use global.json file, but just warn if an older dotnet version is installed instead?

@jarcane
Copy link

jarcane commented Jun 12, 2018

This actually broke my setup today. The template created a project with .NET Core 2.1.105, when I already had 2.1.300 installed. The build went off fine, eventually, but Ionide couldn't get any of the projects to work, which I then learned was because somehow my local tools had broken as well due to the mismatched version.

Changing global.json to 2.1.300 and reinstalling the SDK fixed it, but it was a nasty surprise.

@forki
Copy link
Member

forki commented Jun 12, 2018 via email

@theimowski
Copy link
Member

Yes it's still in progress #101

@isaacabraham
Copy link
Member

I notice that the FAKE build script also is coupled to a specific version of dotnetcore - so we now have global.json and FAKE pointing to (currently) 2.1.3. I can see people changing one but not other other etc. etc.

@theimowski
Copy link
Member

What's your take on moving the required version back to global.json #146 ?

@MangelMaxime
Copy link
Contributor Author

Better to have one source of truth :) And global.json seems the right place.

@theimowski
Copy link
Member

I've decided to remove "Install dotnet" step for now - e4462c9

Let's see what people think of it - if you encounter issues please reopen

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

5 participants