Trying to get the xmlPersistence sample working

Hello Fellow MetaProgrammerS,

I am trying to get the xmlPersistence sample working.
Following the Custom Persintence Cookbook, section "Build the MPS plugin", I run the build script and get the follwing error message:
"BUILD FAILED
C:\Users\aschrijvers\MPSSamples.3.0\xmlPersistence\build.xml:187: C:\Users\aschrijvers\build\artifacts\mps\lib does not exist."
After making this specific directory a get a different message:
"BUILD FAILED
C:\Users\aschrijvers\MPSSamples.3.0\xmlPersistence\build.xml:187: C:\Users\aschrijvers\build\artifacts\mps\languages\baseLanguage\jetbrains.mps.baseLanguage.unitTest.libs does not exist."
It seems to me that the unitTest is in the MPS baselanguage, so why is he trying it to find it here? Something looks wrong with the path configuration.
Any ideas where and how?

Albert
4 comments
There is probably something wrong with the path you provide as artifacts location. The first path in the message should point to lib directory inside your MPS installation.
I have had many problems with this build stuff, too. You will get few information from documents but therefore you got lots of errors from the tool ;).
0
Hello fabma,

Thank you for your feedback.
I resolved the path error by changing one macro into:
folder mps_dist = ./../../../../program files (x86)/JetBrains/MPS 3.0

But now I get a different error: "Error running javac.exe compiler".

I understand that more errors are on the way....
I will go ahead by analysing the build.xml first.
To be continued...

Albert
0
I solved the javac.exe error by removing the fork option in the following line in the build.xml
<javac destdir="${build.tmp}/java/out/jetbrains.mps.samples.xmlPersistence" fork="true" includeantruntime="false">
I have no idea what this option does, it doesn't do harm in the other <javac> lines. And, of course, when I run the xmlPersistencePlugin again this option is restored again.....
0
Hi Albert,

your suggested change worked for me without errors in javac.

Thx
0

Please sign in to leave a comment.