WallarooLabs / wally

Distributed Stream Processing
https://www.wallaroolabs.com
Apache License 2.0
1.48k stars 68 forks source link

Check for correct ponyc version #2251

Open jtfmumm opened 6 years ago

jtfmumm commented 6 years ago

Would it make sense to have our Makefiles check that the correct version of ponyc is installed before compiling so that users don't get compiler errors that really (unbeknownst to them) indicate that they have the wrong version of ponyc? @dipinhora

SeanTAllen commented 6 years ago

This sounds... yes. This sounds reasonable.

dipinhora commented 6 years ago

@jtfmumm @SeanTAllen What should happen if it's not the "correct version of ponyc"? Should an error be printed telling folks to install the correct version?

How should we handle the case of someone intentionally using a "non-correct version of ponyc" (i.e. someone wanting to use master as part of upgrading the wallaroo code for compatibility)?

SeanTAllen commented 6 years ago

@dipinhora i was imagining something along the lines of how the ponyc make process errors out if you don't have a supported LLVM version.

dipinhora commented 6 years ago

@SeanTAllen Understood regarding the error/exit when the "incorrect version of ponyc" is installed. We'd also need to define/maintain a list of "correct versions of ponyc" that I'm assuming at a minimum would include the release being built without the .git directory existing and with it (i.e. 0.24.0 and 0.24.0-79af8a0 in the case of version 0.24.0).

I'm still not entirely clear on whether we want to support folks being able to use an "incorrect version of ponyc" intentionally or not. Only allowing for the specific versions would make things easier for end users but possibly harder for development (i.e. we regularly use custom ponyc versions when testing bug fixes and upgrades to new versions of ponyc; usually prior to or in-between releases).

SeanTAllen commented 6 years ago

I don't think we want to support "incorrect version of ponyc". But it should be "painless" for someone going through the upgrade cycle for Wallaroo. Like perhaps changing a clause in the Makefile.