oduwsdl / wsdlthesis

ODU WS-DL Thesis/Dissertation LaTeX Template
MIT License
3 stars 11 forks source link

Alternative build mechanism #12

Closed N0taN3rd closed 6 years ago

N0taN3rd commented 6 years ago

This PR provides a sensible shell file equivalent to the provided Makefile as customizing the makefile may be difficult for some users

ibnesayeed commented 6 years ago

While this is cool, I think it will be a maintenance overhead to reflect changes in both Makefile and the Bash script. Additionally, it would cause more confusion for new users by having multiple ways to do the same thing. This is an opinionated repo where we would prefer simplicity over flexibility. Not knowing Makefile is not an excuse, it is such a basic tool, besides most of the time they only need to run make command.

I am not closing it yet, as others might want to give some more input on it.

N0taN3rd commented 6 years ago

@ibnesayeed and make is simple??

ibnesayeed commented 6 years ago

Basic Make is easy, so is basic Bash. Shell scripts are far more powerful than Make, but Make serves a very specific purpose and it does it very well. It's historically been a the default task runner and build tool for many software applications. While I am not against Shell script, here I am hesitant due to duplicating the same thing. By the way, your shell script is not doing the very same thing what Makefile would do.

machawk1 commented 6 years ago

I agree that keeping the MAKEFILE and the shell script in-sync might be a chore and lead to some confusing differences in output if one is updated and the other is not. I would recommend integrating some CI system into this repo to check this, compiling with both options and making sure they are equivalent, prior to including the additional compilation mechanism.

ibnesayeed commented 6 years ago

Unless there is a problem in one approach, I would suggest not introducing another approach. Because it would require more documentation while causing more confusion. If the users know what they are doing other than the suggested approach then they will sail their boat their way anyway. It is a bootstrapping repo with a way to do most of the things, not many ways to do one thing.

Adding a CI system integration for this task means solving a non-existing problem with more problems and dependencies to worry about.