Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.0 and a big API break. #64

Open
Tomasu opened this issue Aug 15, 2014 · 3 comments
Open

1.0 and a big API break. #64

Tomasu opened this issue Aug 15, 2014 · 3 comments
Assignees
Milestone

Comments

@Tomasu
Copy link
Owner

Tomasu commented Aug 15, 2014

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 Tomasu added this to the 1.0 milestone Aug 15, 2014
@Tomasu Tomasu self-assigned this Aug 15, 2014
@JMLX42
Copy link
Contributor

JMLX42 commented Aug 15, 2014

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,

@Tomasu
Copy link
Owner Author

Tomasu commented Aug 16, 2014

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.

@ricanteja
Copy link

Go for it!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants