Skip to content
This repository was archived by the owner on Feb 21, 2023. It is now read-only.

[Help Wanted] Rewrite build scripts in modern scripting language #85

Open
0x1mason opened this issue Sep 2, 2017 · 5 comments
Open

Comments

@0x1mason
Copy link
Member

0x1mason commented Sep 2, 2017

Build automation is mostly in batch, which, well... sucks. It's also not cross-platform, which is a barrier to supporting .NET Core/Mono. The build scripts should be re-written using one of the following, in rough order of preference:

If you want to use make, Scala, groovy, etc, I'm open to it. Anything other than batch.

@jnyrup
Copy link
Collaborator

jnyrup commented Sep 4, 2017

I like Cake

Cake (C# Make) is a cross platform build automation system with a C# DSL to do things like compiling code, copy files/folders, running unit tests, compress files and build NuGet packages.

@HGCapacitor
Copy link

HGCapacitor commented Sep 5, 2017

I did not look into the build system into detail, I agree that batch scripts is a bad idea ;)
Still what is the benefit in altering the build system as long as a NuGet package is produced. I do not think building in batch scripts interferes with targeting .net core (and making the NuGet package platform agnostic).
Moving away from the batch script will allow building the code on different platforms only.
And probably moving away from the batch scripts before upgrading to .net core will probably be less painfull.

In short:
-Allow building on multiple platforms (by moving away from the batch scripts) seems not a very interesting step to me at the moment
-Reduce the pain of configuring the build (by moving away from the batch scripts) is slightly more interesting, but I would currently put more weight in supporting BUFR files over upgrading to later .net frameworks
-I agree to putting msbuild on top of the prefered list
-As always please correct me if I am wrong!

@jnyrup
Copy link
Collaborator

jnyrup commented Sep 5, 2017

@HGCapacitor For me the main point in moving to a dedicated build system is robustness and descriptive error messages, when some dependency is missing or fails to run.

@0x1mason
Copy link
Member Author

0x1mason commented Sep 5, 2017

@HGCapacitor Agreed. I don't care that much as long as it is cross-platform, command-line friendly, and scriptable.

@0x1mason
Copy link
Member Author

This issue was moved to #8

@0x1mason 0x1mason reopened this Dec 20, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants