-
Notifications
You must be signed in to change notification settings - Fork 25
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
Switch to a modern build system #61
Comments
issues #62 is related with this issue. |
I'm not convinced that argument parsing requires a change to the build system. Plus the CLI you suggest doesn't cover all the use cases of RunParms files. Well, there is more to say but it's a separate issue from the build system. I'm not opposed to changing the build system except that I will surely lose track of how to build the project unless there is some good quick start documentation and ideally a CI setup as well. I have no real opinions about which one to use, since I haven't done any Java development since Java 8 and this project is on life support. |
Hi Mingli, You seem to already have a build system using lein in mmj2e, that would probably be the easiest to use? |
I'm not a fan of adding clojure to the build dependencies. If I was writing this today I would probably use a shell script, but when I wrote the ant file I was still on windows, and a shell script might cause problems for people not on linux-ish systems. I'm not sure what you mean by a life-long project. There isn't too much to the build process, but it's hard to find something that works in all environments. |
@tirix Well I already stated my view on adding clojure to the build dependencies. For someone who is installing Java and mmj2 together this could easily double the amount of stuff to download, as well as the number of moving parts / things that can fail. To the extent possible I would like the build system to stay as simple as it can be; a whole separate project just for building this one sounds like way overkill. |
I meant it's a good solution in the sense that it shall have no impact on this repository, which can remain minimal in terms of build requirements. |
I investigate these build system today:
If we only build by Another option is I still think dependency management is important for development, that is one factor I created this issue. Mingli |
Note that mmj2 already has one dependency, a JSON parser library. Is there a reason you can't just use a similar method for other libraries you want to include? I don't think that "being old" is a strong argument against a build tool, especially if it's still in use and receiving updates today. |
Yes, if we intend to keep thing complete and minimal, and don't want to involve too many functions, that is the correct choice. I agree... |
As of de57384 mmj2 can be built with maven. In particular, dependencies can now be managed via |
If we want to change the the tool to a git-style command line tool
mmj2 gui
to invoke the GUImmj2 verify
to invoke the verificationHow can we achieve this quickly?
I think the most convenient way is adopting argsparser libraries outside and connect the old https://github.com/digama0/mmj2/blob/master/src/mmj/util/BatchMMJ2.java or other source files.
But the obstacle here is the old build system. We need to switch to a modern build system, they can add dependencies easily, e.g.
Mingli
The text was updated successfully, but these errors were encountered: