Open katjabercic opened 4 years ago
Modern versions of sbt do not always build MMT correctly even though the sbt specification says they should.
I think we should fix this anyway regardless of any other issue raised here.
Some people run sbt from within IntelliJ, possibly also using it to import the project in the first place. Others install sbt separately and run it on the command line.
Also watch out that building in IntelliJ, building with SBT from within in IntelliJ, and building with SBT from command-line are three different things. (IntelliJ comes with bundled with an internal SBT installation)
If possible, I'd always avoid touching SBT on my own and just let IntelliJ do its import/building.
Re your suggested relative layout of MMT and archives:
Ideas from systems meeting today:
Currently existing sbt tasks:
install: I think only jedit/install does anything, that's helpful but replacible
deployLFCatalog: not sure but probably not needed soon; at least preserve it as a commented out target
cleandoc: presumably needed in conjunction with apidoc
apidoc: might be work to redo differently; so probably has to be kept
For the record (already talked with @Jazzpirate), the SBT file has been previously adapted such that MMT can be pulled as an SBT dependency in other projects (e.g. FrameIT's server). Details can be found at my StackOverflow question for that.
I think we want to remain compatible with external projects depending on MMT.
It actually looks like there's no way to specify an artifact build in an sbt file such that IntelliJ adds it to its artifacts after importing... if anyone can find out something that would be great, but google seems to not yield any helpful results
Closest thing I'm aware is running an "sbt task" from within IntelliJ. But that does require some manual configuration, see https://stackoverflow.com/a/39408495/11451137.
IMO, #477 is on the critical path of streamlining, too. As of now, Windows users need to install Bash and put it on PATH to be able to use the MMT IntelliJ plugin.
@lambdaTotoro @tkw1536 @Jazzpirate @ComFreek
There are currently lots of small things that can go wrong when new developers set up MMT.
In my observation, different things go wrong for different students, and if a single thing goes wrong, students are foten lost. Even worse, they start trying different things, which makes their setup un-debuggable, especially remotely.
Possible issues include:
We need to streamline this process with a single, simple setup that works for everybody.
Possibilities:
Use the same folder structure for MMT/UniFormal and MathHub for everybody. When installing MMT, this is currently
Handcraft some files in .idea and all *.iml files using relative paths only and check those in. Then update the documentation to make new developers import an existing IntelliJ project.