2016/09/20

06:43

it is quite dark outside.

07:25

The CompilerOutput originally had InputStream but that would complicate things greatly. Also CompilerOutput should be flushable.

07:47

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.

07:54

My manifest parser has an issue, it ignores spaces at the end of a line.

07:58

Actually it is the writter which has the issue.

10:01

I need to flush on close so that memory is not piled into.

10:36

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]

13:51

So I thought about it. I need to change the compilation stuff to another method and have the compileSource just be recursive itself always.

14:31

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.

14:34

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.