updated: mmj2 has tests on windows, but not on linux and pure junit based cases.
On Mon, Feb 14, 2022 at 10:22 AM Mingli Yuan <[email protected]> wrote: > Hi, folks, > > I had read the long discussion history about mmj2 installation on github: > > - https://github.com/digama0/mmj2/issues/14 > - https://github.com/digama0/mmj2/issues/21 > - https://github.com/digama0/mmj2/issues/36 > - https://github.com/digama0/mmj2/issues/37 > - https://github.com/digama0/mmj2/issues/39 > > Lots of the questions had already been solved, some still haunted there. > Especially in Issue #39, > @digama0, @david_a_wheeler and @cwitty discussed the problems and the > engineering complexity for future fixes. > After considering all the above in an hour, I don't think the installer in > my previous mail is a good solution, it is only one possible option. > > I respect all the contributors' works and understand the status of open > source development. We had already improved a lot, but still did not > achieve the goal > For me, there are two sets of engineering problems beneath domain > problems, maybe it is biased on my preference and experience. > > 1. homework: > - 1.1 the build system: ant is OK, nowaday developers use gradle and > others, the tool chain of Java evolved a lot. > - 1.2 lack of test cases stops people outside to contribute further. > > 2. application problems and solutions > - 2.1 multiple OS support: at least Windows/Linux/MacOS > - 2.2 multiple Java environment support: Java 8 and aftermath, esp. the > LTS versions > - 2.3 a well-designed convention and workflow on metamath/mmj2 develop: > where do we put the database and personal works, etc. > > Above these pure engineering problems, it is the problems of metamath and > math, the beneath and above two parts are orthogonal. > It means a developer can focus on engineering problems without > introducing too many domain problems. > > As any open source projects, the engagement, trust and time are real > problems. I used to be a Java developer for years and I can contribute some. > I also propose a way to solve these: > > - migrate the build system to a new generation builder > - give sanity tests on set.mm and other databases > - give more test cases on basic functionals > - once tests are ready, we can integrate a CI to check on different OS and > JVM > > By this way, we can define our engineering problems very clearly, all the > problems are surfaced on one page with different status on different > platforms, > and then we can fix them one by one. > > @digama0, @david_a_wheeler and @cwitt, what do you think about the > proposal? > > Mingli > > > > > > On Sun, Feb 13, 2022 at 5:08 AM Mingli Yuan <[email protected]> wrote: > >> Hi, folks, >> >> After 1 day of investigation and 1 day of work, I set up a demo repo >> which can generate installers to ease mmj2 installation. So far only the >> Mac version *.dmg was tested. >> >> The demo upgraded to a higher JDK version, and then generated installers >> by jpackage which was shipped by JDK after version 14. >> >> The main point is >> - JRE was bundled with the installer together to ease Java installations >> - use hidden user directories to store default settings and read only >> database to eliminate initial configurations >> - Runnable after installation without any configurations >> >> Since it is a quick hack and demo, the code was a little bit dirty. >> If you think it is helpful, I will put more energy on it. >> >> Comments and ideas are welcome. >> >> https://github.com/mountain/mmj2e >> >> Mingli >> > -- You received this message because you are subscribed to the Google Groups "Metamath" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/metamath/CAGDRuAii%3DpexaKG_3t5LX8PEsnkMxhOkxOm3VzFWaDXJZm6Lvg%40mail.gmail.com.
