Open cxw42 opened 4 years ago
Note that the inline Bash is just an example, you can use any executable for snowflake-build. :)
An important aspect of the data flow in Snowflake is that it is based on a content-addressable store, so as to minimize rebuilds.
Thanks for pointing me to Data::Hopen, a data flow library may help with the implementation of parallel builds.
Minimizing rebuilds is a Good Thing :) . You also mention caching in the README --- was it long build times that originally triggered you to start writing snowflake?
In my case, hacking cmake files to build things on Cygwin became very painful over time. I wanted to write a build system that would make it easier for downstream to customize builds without having to involve upstream. That was the genesis of hopen.
Chloe, cpan:CXW here. I just found out about this project after being introduced to your work on CRAI by the Rakudo Weekly. I have unknowingly been working on a similar project and would be interested in trading notes sometime, if you're still working on snowflake. I particularly like your use of inline bash to specify build steps. TIMTOWTDI!
My example corresponding to the snowflake README is at https://github.com/hopenbuild/App-hopen/blob/master/eg/003-double-file-double-compile/.hopen.pl . The dataflow is handled by standalone library Data::Hopen, in case that is of any interest to you as a back end for snowflake.
Thanks for reading this rambling! :) Please let me know if you have any interest in chatting, or feel free to close this issue if not.
-Chris