I've noticed over the last couple weeks of using Ejecta while simultaneously working on a project, how difficult and tedious it is to actually keep up to date with Ejecta's changes without overwriting everything and having to re-configure the Xcode project and git repo every time.
This pull request presents a fix to this dilemma, however it does also present a couple new potential issues to be aware of.
The changes and their repercussions are as follows:
I also moved index.js into the root directory of the project so users can still copy it after they create App and test out the example application fairly easily.
One shitty thing with Git is you cannot commit an empty directory. This means we cannot even keep an empty App folder in the project, so the user must add it themselves.
The big positive of this however is that developers can now simply add the App folder and do anything they like with it. They could checkout their own game's git repo, make changes, etc. Hell, if they use SVN for their project they could drop that in there too shudder.
This enables users to continue to develop and test their apps and games and also continuously rebase or merge Ejecta updates as they become available.
I added a quick couple steps on creating the initial App directory and the requirement of an 'index.js' file to the README that should explain how to get started. This was a first pass at the content, so if you'd prefer to change that content up, I can quickly amend the commit with the new README content and submit a new pull request.
This is essentially it. A quick summary:
This pull request makes it easy to manage parallel development of both Ejecta and your own App or game. The downside is you do not get a nice and easy user experience of launching xcode, building proj and seeing it work.
I think the tradeoff is fair however, since most people will be running Ejecta in concurrent development pipelines and this should be a big win for everyone.
Moved index.js out of App, added App to gitignore
This will enable people who use Ejecta to more easily keep up to
date and still keep their own apps intact inside the App folder
I'll still keep the App/index.js for the "release version" ZIP on http://impactjs.com/ejecta, so this shouldn't be much of a hurdle for new developers.
How about adding App and index.js as a git submodule?