On Tue, Jun 14, 2016 at 5:28 AM, Nick Wellnhofer <wellnho...@aevum.de> wrote: > On Jun 8, 2016, at 03:02 , Marvin Humphrey <mar...@rectangular.com> wrote: >> >> Over time, we should try to make decisions that consolidate as much of build >> code as possible in a shared central system (i.e. charmonizer/make for the >> foreseeable future). Even if that code eventually gets refactored, it's only >> one task to refactor it, as opposed to N tasks to refactor code in N hosts. > > Originally, I didn’t want to make Charmonizer a hard requirement but I’m > willing to give that up, at least for now.
I hear you. As Charmonizer has expanded a bit, I've been reminded of the old Larry Wall chestnut, "It's easier to port a shell than a shell script." What's more important than Charmonizer's implementation are satisfying the requirements of not imposing any prerequisites (e.g. Unix shell) to run configuration probing of a C compilation environment, nor any build tool outside of what the host language environment provides. But I figure that means for the time being, it's impractical to work with anything except bundle-able, portable Charmonizer. >> I would say tests in a separate binary. For example, under the Perl bindings >> the core tests for Lucy would be run from a separate XS module (Lucy::CFTest? >> LucyCFTest? CFTest?) which has a dependency on the main Lucy XS module. > > Maybe we should keep the Lucy::Test convention? After a bit of reflection: +1 I think that means also that *::Test is reserved for any Clownfish parcel. Marvin Humphrey