thewca / tnoodle-samples

A collection of sample projects embedding TNoodle into different use cases
GNU General Public License v3.0
1 stars 2 forks source link

Initial commit #1

Closed gregorbg closed 5 years ago

gregorbg commented 5 years ago

Move over two subprojects from thewca/tnoodle.

This is mostly done so that Android can be removed from the main repository and installing the humongously large Android SDK is not a dev requirement for the core TNoodle project anymore.

The only things that changed are:

Everything else is literal c/p from the TNoodle main repository.

jfly commented 5 years ago

Oh, one other thought: it might be worth going to the effort to pull the commit history for these files from TNoodle and into this repository. One simple way of doing that would be to actually start out by making this repo a clone of TNoodle. A fancier approach might be to use git filter-branch, which is detailed here: https://gbayer.com/development/moving-files-from-one-git-repository-to-another-preserving-history/

gregorbg commented 5 years ago

Answers to your general questions (same numbering):

  1. There will be one as soon as this one is merged upstream. I'd like to avoid situations where the Android sample app is "gone" because the main TNoodle deletion PR gets merged earlier than this one.
  2. Yes, will happen as part of the yet-to-come PR mentioned under (1)
  3. I have done a very hacky attempt to include a Travis build file. Currently tough because we don't have an actual Maven repository that hosts our main TNoodle artifacts -- so we have to fake them through publication to the local Nexus.
  4. I disagree. Most notably, TNoodle is a Java/JVM project, so the basic integration examples can and should be based on Java build technology. I have renamed the tnoodlejs folder to reflect that opinion. Also, Android is practically married to Gradle. It is unbelievably difficult (if not impossible!) to build Android without Gradle. Lastly, I have no idea how to configure GWT without the convenience of having a Gradle plugin do it for me. We could certainly invest time into improving the situation here, but right now I just want to have these two projects out of the main repo for a bunch of reasons.
gregorbg commented 5 years ago

And here's your history! I had to pull in the folder histories for tnoodle-android and tnoodlejs separately, hence you may see some "duplicated" commits.

In reality, there are two separate merge chains dangling from the tree, where a commit may hve been split up when doing git filter-branch on the individual directories. The Internet agrees :tm: that there is no smarter :tm: way to handle this history transfer.

Duplicating the repository does not seem like a viable alternative, because then we would have all of the "unwanted" parts of the code still with us somewhere in the history. So we have to live with merge instead of rebase this one time methinks :)

gregorbg commented 5 years ago

Ping @jfly I'd like to merge this up within the next 48 hours

jfly commented 5 years ago

Sorry for the delay here: LGTM! Thanks for pulling in the history =)

Lastly, I have no idea how to configure GWT without the convenience of having a Gradle plugin do it for me.

Yeah, it seems totally reasonable to me to use Gradle to configure/invoke GWT. But, I imagine a javascript developer isn't actually interesting in running gradle or gwt, they just want an example of how to npm install and use tnoodle. My thinking is that someday... eventually... we'd publish some version of TNoodle on npm for them to be able to use just by running npm install locally.