fsprojects / ProjectScaffold

A prototypical .NET solution (file system layout and tooling), recommended for F# projects
http://fsprojects.github.io/ProjectScaffold
The Unlicense
515 stars 154 forks source link

Fast build, simple clean, updated packages and fixed package creation #270

Closed sideeffffect closed 7 years ago

forki commented 7 years ago

Why is it using build target instead of rebuild?

adamchester commented 7 years ago

258 and my opinion is the default build and test cycle should be build rather than rebuild. For releases etc, rebuild with full clean is probably best.

forki commented 7 years ago

yep at least for proper release we need rebuild

sideeffffect commented 7 years ago

so in that case let's still keep Build, but make sure Release depends on Clean as first

sideeffffect commented 7 years ago

fixed. can we merge this now?

pblasucci commented 7 years ago

Point of order, invoking the "clean" target followed by the (newly edited) "build" target is not the same as telling MSBuild to rebuild the solution. My suggestion, if we're settled on not always rebuilding, is to create a "rebuild" FAKE target, which does tell MSBuild to rebuild the solution. Then have the "release" target depend on the (to be created) "rebuild" target.

sideeffffect commented 7 years ago

hmm, are we sure? if the solution is Buildable from zero, calling first Clean and then Build should yield the same result as just Rebuild. That would mean Rebuild is redundant here. a question with answers on StackOverflow

sideeffffect commented 7 years ago

ping :)

forki commented 7 years ago

My suggestion, if we're settled on not always rebuilding, is to create a "rebuild" FAKE target, which does tell MSBuild to rebuild the solution. Then have the "release" target depend on the (to be created) "rebuild" target.

+1

sideeffffect commented 7 years ago

create a "rebuild" FAKE target ... have the "release" target depend on the (to be created) "rebuild" target

but Release already depends on Clean -- what difference would adding Rebuild make?

sideeffffect commented 7 years ago

@tpetricek could you please have a look at this?

dsyme commented 7 years ago

@sideeffffect @pblasucci Is this ready to go in?

pblasucci commented 7 years ago

@dsyme I think we're still trying to come to an agreement. Two options currently on the table:

versus

Personally, I'm not really concerned either way (Project Scaffold was always meant to be learning aide -- not an all-encompassing tool). But @forki raised the point and I wanted to give it full "airing". Especially, since there are some subtle differences between the two sequences, as seen here.

What are your thoughts?

sideeffffect commented 7 years ago

@dsyme from my side we can merge

@pblasucci I've found a SO answer that basically says that my changes won't hurt -- Rebuild = Clean + Build (step by step, project by project) my changes just Clean everything first and only after that Build everything

pblasucci commented 7 years ago

Gonna merge this because -- hey -- we can always patch it later if there are issues (and folks are meant to be customizing their scripts anyway).

sideeffffect commented 7 years ago

thanks a lot @pblasucci if some issues happen to turn out, I would be glad to help fix them