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

Splitting Demo and Add-on so Add-on can be submoduled #614

Open
BastiaanOlij opened this issue Jan 16, 2024 · 1 comment
Open

Splitting Demo and Add-on so Add-on can be submoduled #614

BastiaanOlij opened this issue Jan 16, 2024 · 1 comment
Labels
discussion Lets discuss this! documentation Document a feature enhancement New feature or request

Comments

@BastiaanOlij
Copy link
Member

We've had this discussion a number of times in the past, time to really detail this out and discuss whether we want to go down this path.

Historically, due to limitations with the asset library, we had to keep the full project structure in tact for our plugin. Later on the asset library obtained the ability to use an artifact on a release build and we were able to combine both demo and plugin in this repository while still creating a distributable zip file of just the plugin.

What is lacking, and has been a wish for a long time, is for the plugin to be a submodule. Especially for those who use GitHub (or any git server) as a version control system for their game projects, being able to submodule the add on has a lot of advantages.

The downside of this approach is that changes to the plugin, and changes to the demo, need to be PRed separately.

The suggested steps to move to this approach are as follows:

  • We create a new empty branch called master-plugin and enable the same protections as master. We could optionally rename master to master-demo but I think this is overkill.
  • We copy the contents of addons/godot-xr-tools into this branch and commit it. This means adding the LICENSE, CONTRIBUTORS and VERSIONS files to this repo. VERSIONS in master will now track changes to the demo, VERSIONS in master-plugin will track changes to the plugin.
  • We delete the addons/godot-xr-tools folder from our demo, and instead submodule it.
  • Our CI remains on master and we will build releases from master, but we'll need to slightly adjust the scripts to accommodate the movement of files.

For changes it will be important to create two PRs, one with the changes for the plugin, one for the changes for the demo. The changes for the plugin should be merged first as the changes for the demo will need to be adjusted to point to the correct commit for the submodule.

The readme needs to be adjusted to reflect these changes.

@BastiaanOlij BastiaanOlij added enhancement New feature or request discussion Lets discuss this! documentation Document a feature labels Jan 16, 2024
@DigitalN8m4r3
Copy link
Contributor

while i can see the structure here, it poses a risk as in ppl not wanting to go that double route.
Am not talkin about me here, then again the contributors to this project arent increasing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Lets discuss this! documentation Document a feature enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants