1.0 and a big API break.
I am considering a rename to Glua before a 1.0 release sometime in the (possibly distant) future. this would change the api. Also along with that, it would likely gain proper C++ namespacing for the api. Doing both near the same time would limit major breakage to one release rather than more than one.
I will attempt to take care of a majority of the outstanding issues before a 1.0 as well.
I'm asking for opinions and thoughts. Does anyone care?
Tomasu,
this is great news! As you might know, LuaGlue is part of the Minko SDK, our x-platform 3D engine. The kind of API changes we're talking about here should be fairly simple to deal so that should not be a problem.
The namespace thing is actually quite welcome!
Regards,
One important thing to note, my recent work will likely cause everyone's forks to break if you have modifications in the core that touch LuaGlueClass and LuaGlueObject. It's a massive change to the core. Check the valuetype-refactor branch for more info. Still have some internal "types" to convert over to the new LuaGlueType api... so its not quite ready to merge. but when it is? I expect there to be some serious conflicts with master. :D It doesn't actually change the api (much, some changes might get made, additions maybe).
just a preview:
$ git diff master | diffstat
b/CMakeLists.txt | 6
b/examples/array.cpp | 2
b/examples/foo.lua | 8
b/include/LuaGlue/ApplyTuple/GlueObjConstFunc.h | 12
b/include/LuaGlue/ApplyTuple/GlueObjFunc.h | 12
b/include/LuaGlue/ApplyTuple/GlueObjSPtrConstFunc.h | 12
b/include/LuaGlue/ApplyTuple/GlueObjSPtrFunc.h | 12
b/include/LuaGlue/LuaGlue.h | 115 +
b/include/LuaGlue/LuaGlueApplyTuple.h | 2
b/include/LuaGlue/LuaGlueArray.h | 152 ++
b/include/LuaGlue/LuaGlueBase.h | 14
b/include/LuaGlue/LuaGlueClass.h | 476 +++-----
b/include/LuaGlue/LuaGlueCtorMethod.h | 6
b/include/LuaGlue/LuaGlueDtorMethod.h | 6
b/include/LuaGlue/LuaGlueFunction.h | 1
b/include/LuaGlue/LuaGlueIndexMethod.h | 10
b/include/LuaGlue/LuaGlueLuaFuncRef.h | 3
b/include/LuaGlue/LuaGlueMethod.h | 50
b/include/LuaGlue/LuaGlueNewIndexMethod.h | 10
b/include/LuaGlue/LuaGlueProperty.h | 57
b/include/LuaGlue/LuaGlueStackTemplates.h | 1161 ++------------------
b/include/LuaGlue/LuaGlueStaticMethod.h | 1
b/include/LuaGlue/LuaGlueStdFuncWrapper.h | 4
b/include/LuaGlue/LuaGlueSymTab.h | 77 -
b/include/LuaGlue/LuaGlueType.h | 326 +++++
b/include/LuaGlue/LuaGlueTypeBase.h | 81 +
b/include/LuaGlue/LuaGlueTypeValue.h | 281 ++++
b/include/LuaGlue/LuaGlueTypeValueBase.h | 46
b/include/LuaGlue/LuaGlueUtils.h | 15
b/include/LuaGlue/LuaHelpers.h | 28
b/include/LuaGlue/StackTemplates/Array.h | 129 ++
b/include/LuaGlue/StackTemplates/Boolean.h | 34
b/include/LuaGlue/StackTemplates/Integer.h | 105 +
b/include/LuaGlue/StackTemplates/Numeric.h | 64 +
b/include/LuaGlue/StackTemplates/Ptr.h | 190 +++
b/include/LuaGlue/StackTemplates/SharedPtr.h | 89 +
b/include/LuaGlue/StackTemplates/StaticObj.h | 83 +
b/include/LuaGlue/StackTemplates/StdFunction.h | 130 ++
b/include/LuaGlue/StackTemplates/String.h | 100 +
b/include/LuaGlue/StackTemplates/TypeValue.h | 45
include/LuaGlue/LuaGlueClassBase.h | 13
include/LuaGlue/LuaGlueObject.h | 313 -----
42 files changed, 2458 insertions(+), 1823 deletions(-)
One side benefit to all of this is that users can extend LuaGlueType themselves and have custom types that aren't necessarily bound like regular LuaGlueClass types. also some internal cleanup has been done.
Go for it!