it is quite dark outside.
CompilerOutput originally had
InputStream but that would complicate
things greatly. Also
CompilerOutput should be flushable.
So now I have writing of output JARs. What I need now however is to see why the manifest writing to the output does not work at all.
My manifest parser has an issue, it ignores spaces at the end of a line.
Actually it is the writter which has the issue.
I need to flush on close so that memory is not piled into.
It seems that everything is rebuilt:
DEBUG -- Out of date! builder -> basic-assets/basic-assets [ isrc: 2016-09-18T20:43:43Z dbin: 2016-09-20T14:33:33Z dsrc: 2016-09-18T16:51:35Z]
So I thought about it. I need to change the compilation stuff to another
method and have the
compileSource just be recursive itself always.
So now I would consider the refactor of the build system very nearly complete. All I must do now is to recreate the launch system and bridge that with Java SE.
The launch system could actually reuse some of the compiler bits, that is when
it comes to input. But not really, it can be much lighter. The only thing that
has to be considered is file name resource lookup and such. Anything that is
launched will be done so with custom class loaders. I suppose what I can do
is when something is launched, I can perform the actual work in another thread
and then just wait on it to finish or throw an exception. That should prevent
extra junk in the callstack that is not needed, just as invoke and such. Well,
there still would be the native method invoke however. I do need to take
main being static into consideration. This would just mean that on
SquirrelJME itself, the launcher would be like it was interpreted.