-
Notifications
You must be signed in to change notification settings - Fork 1
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
Merging xpenatan/dragome-backend #13
Comments
I'm porting and not reinventing the wheel. I will add some few stuff to easy things up and remove some ported stuff that may not need anymore. The reason dragome-backend project setup is like that because its same structure as libgdx sources (with libgdx sources you can import and play in eclipse or use maven/gradle). Also, Libgdx eclipse project (Backends, Extensions and Tests) settings is pure eclipse java settings and dont have no maven or gradle attached and all dependencies points to /libs folders. The libs jars are there for a reason: This is working with sources. For snapshots/release I may merge everything in 1 jar with one of the build automation system. The repo name I'm not even worried. There is a big title in README and repo sub title. The other part of the backend (input, sound, etc) is easy to do and my focus now is improving graphics/jsDelegate to match interface perfectly so even for a improved (future) JsDelegate will work without changing much or anything at all. |
@xpenatan The thing is - you'll want to keep your repo, I'll want to keep mine. That's why I think other contributors should decide, especially @fpetrola. Anyway, not everyone uses Eclipse, so I think it's a good idea to force this upon contributors. Keeping jars in the repo is just wrong, it's a huge step backwards from powerful build tools like Gradle or even Maven. If you have some custom Dragome code, I think you should use snapshot versions (if they are already pushed) or maintain a custom Maven repo (on GitHub, kinda like Dragome used to) - using Maven/Gradle from day one is crucial. You're right about the repo name though, I noticed it can be changed (and, well, folder structure can be easily refactored as well). As for the code: your repo obviously has more code and functionalities for now, but it uses custom JS WebGL/typed arrays bindings which will eventually have to be replaced with official Dragome modules. GWT backend isn't exactly what I would call "clean" code, so I think it should be refactored rather than just adapted. Well, it works, so it should be a source of inspiration, but it definitely needs to be analyzed and corrected. While my backend forces a little different project structure than the original GWT, for me it seems it will be easier to maintain and extend. I'm sick of GWT backend and I really want to target the web without some weird reflection (or what not) issues. GWT backend definitely needs more warnings and exceptions when using prohibited/not implemented features - that's why you'll rarely find copy-pasted GWT code, except for some small functionalities. I find this policy sensible, so I'll continue working on my project. At least for now. I think @fpetrola has the final vote on which repo we focus on. BTW, when I said "reinventing the wheel", I meant there's no reason to maintain two Dragome backend repos. |
I think @czyzby repository structure is more compatible with dragome-sdk structure and gdx structure. Using maven/gradle is very important cause it allows the integration of different projects and gives a way describe how is a project structured, released, compiled, built, etc. Also it's easy to start coding or using the project cause all commands are centralized in just one tool, regardless the IDE each developer likes (eclipse, intellij, netbeans).
What do you think guys? |
Agreed.
|
It's logical to merge the repos with @xpenatan at some point, preferably ASAP to avoid confusion and reinventing the wheel. I'm obviously biased, so I'd like @fpetrola @xpenatan and @intrigus input on this.
Things to consider: existing code and issues, project structure (Gradle vs nothing/Maven).
From what I can see, dragome-backend repo currently contains
Files
andGL20
implementations (both based onGWT
backend) that could be refactored and merged, the other core classes seem to be mostly empty. We agreed to wait with the implementation until proper typed arrays + WebGL support (#4), but I can try temporarily merging Xpe's code in a separate branch to finally run and test this backend. I'll link any related commits.The text was updated successfully, but these errors were encountered: