Module caching and dependency tracking

classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

Module caching and dependency tracking

kintel
Administrator
Hi all,

I just pushed to master: Support for dependency tracking of used and included module and better module caching.
If you change an underlying file, it will be reevaluated next time you compile. If auto-reload is on, changing any dependency will trigger a recompile.
I probably broke something, so please give it a spin.
Known bug: recursive and circular uses and includes will cause an infinite loop. Will be fixed.

Mac binaries are being built as we speak.

Please submit bug reports on https://github.com/openscad/openscad/issues/75

 -Marius


Reply | Threaded
Open this post in threaded view
|

Re: Module caching and dependency tracking

nophead


On 17 February 2012 22:59, Marius Kintel <[hidden email]> wrote:
Hi all,

I just pushed to master: Support for dependency tracking of used and included module and better module caching.
If you change an underlying file, it will be reevaluated next time you compile. If auto-reload is on, changing any dependency will trigger a recompile.
I probably broke something, so please give it a spin.
Known bug: recursive and circular uses and includes will cause an infinite loop. Will be fixed.

Mac binaries are being built as we speak.

Please submit bug reports on https://github.com/openscad/openscad/issues/75

 -Marius

A couple of issues I have with the current system, which you might still have: 

I have an editor that removes files before writing them. Openscad sees the file go, can't open it but re-renders the loaded file anyway. When it finishes it  sees the file has changed and renders it again. I think it should ignore the file disappearing.

My editor will also write multiple files in quick succession. That might make it compile things multiple times unless you delay a little after seeing the first change to see if anything else changes.



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad

Reply | Threaded
Open this post in threaded view
|

Re: Module caching and dependency tracking

nophead
In reply to this post by kintel
Any chance of a Windows binary today? It would really help with releasing Mendel90 if the command line include path problem is fixed.

On 17 February 2012 22:59, Marius Kintel <[hidden email]> wrote:
Hi all,

I just pushed to master: Support for dependency tracking of used and included module and better module caching.
If you change an underlying file, it will be reevaluated next time you compile. If auto-reload is on, changing any dependency will trigger a recompile.
I probably broke something, so please give it a spin.
Known bug: recursive and circular uses and includes will cause an infinite loop. Will be fixed.

Mac binaries are being built as we speak.

Please submit bug reports on https://github.com/openscad/openscad/issues/75

 -Marius

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad

Reply | Threaded
Open this post in threaded view
|

Re: Module caching and dependency tracking

Brad Pitcher

Yeah, I'll fire one up this morning

On Feb 19, 2012 1:17 AM, "nop head" <[hidden email]> wrote:
Any chance of a Windows binary today? It would really help with releasing Mendel90 if the command line include path problem is fixed.

On 17 February 2012 22:59, Marius Kintel <[hidden email]> wrote:
Hi all,

I just pushed to master: Support for dependency tracking of used and included module and better module caching.
If you change an underlying file, it will be reevaluated next time you compile. If auto-reload is on, changing any dependency will trigger a recompile.
I probably broke something, so please give it a spin.
Known bug: recursive and circular uses and includes will cause an infinite loop. Will be fixed.

Mac binaries are being built as we speak.

Please submit bug reports on https://github.com/openscad/openscad/issues/75

 -Marius

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad

Reply | Threaded
Open this post in threaded view
|

Re: Module caching and dependency tracking

nophead
Thanks, Brad

On 19 February 2012 15:42, Brad Pitcher <[hidden email]> wrote:

Yeah, I'll fire one up this morning

On Feb 19, 2012 1:17 AM, "nop head" <[hidden email]> wrote:
Any chance of a Windows binary today? It would really help with releasing Mendel90 if the command line include path problem is fixed.

On 17 February 2012 22:59, Marius Kintel <[hidden email]> wrote:
Hi all,

I just pushed to master: Support for dependency tracking of used and included module and better module caching.
If you change an underlying file, it will be reevaluated next time you compile. If auto-reload is on, changing any dependency will trigger a recompile.
I probably broke something, so please give it a spin.
Known bug: recursive and circular uses and includes will cause an infinite loop. Will be fixed.

Mac binaries are being built as we speak.

Please submit bug reports on https://github.com/openscad/openscad/issues/75

 -Marius

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad


Reply | Threaded
Open this post in threaded view
|

Re: Module caching and dependency tracking

Brad Pitcher
No problem, the new snapshot is there if you want to try it. I just realized that I forgot to include commit information in the build. Just so you know it is commit c5703b4407

On Sun, Feb 19, 2012 at 7:50 AM, nop head <[hidden email]> wrote:
Thanks, Brad


On 19 February 2012 15:42, Brad Pitcher <[hidden email]> wrote:

Yeah, I'll fire one up this morning

On Feb 19, 2012 1:17 AM, "nop head" <[hidden email]> wrote:
Any chance of a Windows binary today? It would really help with releasing Mendel90 if the command line include path problem is fixed.

On 17 February 2012 22:59, Marius Kintel <[hidden email]> wrote:
Hi all,

I just pushed to master: Support for dependency tracking of used and included module and better module caching.
If you change an underlying file, it will be reevaluated next time you compile. If auto-reload is on, changing any dependency will trigger a recompile.
I probably broke something, so please give it a spin.
Known bug: recursive and circular uses and includes will cause an infinite loop. Will be fixed.

Mac binaries are being built as we speak.

Please submit bug reports on https://github.com/openscad/openscad/issues/75

 -Marius

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad


Reply | Threaded
Open this post in threaded view
|

Re: Module caching and dependency tracking

nophead
I also got the inkscape command line launcher that Marius found to work and the two together let me generate stl files from the command line in Windows.

I will submit it back when I have added some error handling. It doesn't check the return value of a single function it calls!

Thanks, Guys.

On 19 February 2012 19:58, Brad Pitcher <[hidden email]> wrote:
No problem, the new snapshot is there if you want to try it. I just realized that I forgot to include commit information in the build. Just so you know it is commit c5703b4407

On Sun, Feb 19, 2012 at 7:50 AM, nop head <[hidden email]> wrote:
Thanks, Brad


On 19 February 2012 15:42, Brad Pitcher <[hidden email]> wrote:

Yeah, I'll fire one up this morning

On Feb 19, 2012 1:17 AM, "nop head" <[hidden email]> wrote:
Any chance of a Windows binary today? It would really help with releasing Mendel90 if the command line include path problem is fixed.

On 17 February 2012 22:59, Marius Kintel <[hidden email]> wrote:
Hi all,

I just pushed to master: Support for dependency tracking of used and included module and better module caching.
If you change an underlying file, it will be reevaluated next time you compile. If auto-reload is on, changing any dependency will trigger a recompile.
I probably broke something, so please give it a spin.
Known bug: recursive and circular uses and includes will cause an infinite loop. Will be fixed.

Mac binaries are being built as we speak.

Please submit bug reports on https://github.com/openscad/openscad/issues/75

 -Marius

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad


_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad



_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad


Reply | Threaded
Open this post in threaded view
|

Re: Module caching and dependency tracking

kintel
Administrator
On Feb 19, 2012, at 23:10 PM, nop head wrote:

> I also got the inkscape command line launcher that Marius found to work and the two together let me generate stl files from the command line in Windows.
>
Cool!

..and I'm curious to how many bugs you find in the new module caching code :)

 -Marius


Reply | Threaded
Open this post in threaded view
|

Re: Module caching and dependency tracking

nophead
It is possible to make images from the command line?

On 19 February 2012 22:32, Marius Kintel <[hidden email]> wrote:
On Feb 19, 2012, at 23:10 PM, nop head wrote:

> I also got the inkscape command line launcher that Marius found to work and the two together let me generate stl files from the command line in Windows.
>
Cool!

..and I'm curious to how many bugs you find in the new module caching code :)

 -Marius

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad

Reply | Threaded
Open this post in threaded view
|

Re: Module caching and dependency tracking

kintel
Administrator
On Feb 19, 2012, at 23:53 PM, nop head wrote:

> It is possible to make images from the command line?
>
Not yet.
The cgalpngtest and opencsgtest programs which are part of the test framework can do it though.
These are not build as part of the distribution, but it's been discussed to make those available.

 -Marius


Reply | Threaded
Open this post in threaded view
|

Re: Module caching and dependency tracking

Gordon Wrigley
In reply to this post by kintel
Auto reload of dependencies isn't working at all for me. Reload on compile is working fine. I'm using c5703b4. I've attached my reproduction, but it really is minimal, I'm not sure what other debug info might be handy.

G

On Sat, Feb 18, 2012 at 9:59 AM, Marius Kintel <[hidden email]> wrote:
Hi all,

I just pushed to master: Support for dependency tracking of used and included module and better module caching.
If you change an underlying file, it will be reevaluated next time you compile. If auto-reload is on, changing any dependency will trigger a recompile.
I probably broke something, so please give it a spin.
Known bug: recursive and circular uses and includes will cause an infinite loop. Will be fixed.

Mac binaries are being built as we speak.

Please submit bug reports on https://github.com/openscad/openscad/issues/75

 -Marius

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad


a.scad (32 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Module caching and dependency tracking

Gordon Wrigley
the second file got lost somehow

On Wed, Feb 22, 2012 at 10:59 PM, Gordon Wrigley <[hidden email]> wrote:
Auto reload of dependencies isn't working at all for me. Reload on compile is working fine. I'm using c5703b4. I've attached my reproduction, but it really is minimal, I'm not sure what other debug info might be handy.

G


On Sat, Feb 18, 2012 at 9:59 AM, Marius Kintel <[hidden email]> wrote:
Hi all,

I just pushed to master: Support for dependency tracking of used and included module and better module caching.
If you change an underlying file, it will be reevaluated next time you compile. If auto-reload is on, changing any dependency will trigger a recompile.
I probably broke something, so please give it a spin.
Known bug: recursive and circular uses and includes will cause an infinite loop. Will be fixed.

Mac binaries are being built as we speak.

Please submit bug reports on https://github.com/openscad/openscad/issues/75

 -Marius

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad



b.scad (28 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Module caching and dependency tracking

kintel
Administrator
In reply to this post by Gordon Wrigley
On Feb 22, 2012, at 12:59 PM, Gordon Wrigley wrote:

> Auto reload of dependencies isn't working at all for me.

Thanks for the bug report.
Includes directly from the toplevel file was broken - fixed now.

 -Marius


Reply | Threaded
Open this post in threaded view
|

Re: Module caching and dependency tracking

Gordon Wrigley
Thank you, that is working now.

On Wed, Feb 22, 2012 at 11:52 PM, Marius Kintel <[hidden email]> wrote:
On Feb 22, 2012, at 12:59 PM, Gordon Wrigley wrote:

> Auto reload of dependencies isn't working at all for me.

Thanks for the bug report.
Includes directly from the toplevel file was broken - fixed now.

 -Marius

_______________________________________________
OpenSCAD mailing list
[hidden email]
http://rocklinux.net/mailman/listinfo/openscad