# Major changes to Thrive repository structure and scripts

**URL:** <https://forum.revolutionarygamesstudio.com/t/major-changes-to-thrive-repository-structure-and-scripts/953>\
**Category:** Programming\
**Created:** [September 9, 2022, 4:06pm UTC](https://forum.revolutionarygamesstudio.com/t/major-changes-to-thrive-repository-structure-and-scripts/953 "2022-09-09T16:06:08Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![hhyyrylainen](https://thrivedevforum-cdn.b-cdn.net/user_avatar/forum.revolutionarygamesstudio.com/hhyyrylainen/32/2243_2.png) [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Post date:** [September 9, 2022, 4:06pm UTC](https://forum.revolutionarygamesstudio.com/t/major-changes-to-thrive-repository-structure-and-scripts/953/1 "2022-09-09T16:06:09Z")

</div>

I don’t usually announce this heavily that I tweaked the way the Thrive repo scripts or other tools like that are changed, but this time I think I should as there’s a change that impacts basically anyone having the Thrive code locally. That change is now that we are (or actually will be in a few days once I merge my PR) using a git submodule. That submodule is [RevolutionaryGamesCommon](https://github.com/Revolutionary-Games/RevolutionaryGamesCommon) which is a shared place where I’ll be putting code needed by various projects like the launcher, DevCenter, and Thrive. This means that when cloning and checking out code, you need to initialize and update the submodules whenever they change, otherwise you’ll get strange build errors.

So here’s a reminder to everyone who has the Thrive code cloned locally that you need to run `git submodule update --init` in a couple of days.

The other big change is that the ruby script used for building and format checking have been converted to C#. I hope this change makes the scripts more maintainable for me and would encourage other people to also help (more) to work on them. The new syntax to running the scripts is `dotnet run --project Scripts -- help` (the part after `--` is where you put our script parameters).

One change of the checking tools that impacts non-programmers is that the JSON format is now different, and finally it requires a trailing newline instead of requiring it to be omitted.

Here’s my PR:

> <https://github.com/Revolutionary-Games/Thrive/pull/3764>
>
> \*\*Brief Description of What This PR Does\*\*
> This does a major change of scripts …to C# and also adds our first git submodule so this has a repo structure impact as well
> 
> \*\*Related Issues\*\*
> 
> \<!-- List all issues this PR closes here with the closes syntax: 
> https://docs.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword
> If this is not related to an issue, it should be described in more detail why this PR is needed here instead.
> \--\>
> closes #3133
> closes #3216
> closes #1722
> 
> \*\*Progress Checklist\*\*
> 
> Note: before starting this checklist the PR should be marked as non-draft.
> 
> \- \[x\] PR author has checked that this PR works as intended and doesn't
> break existing features:
> https://wiki.revolutionarygamesstudio.com/wiki/Testing\_Checklist
> (this is important as to not waste the time of Thrive team
> members reviewing this PR)
> \- \[\] Initial code review passed (this and further items should not be checked by the PR author)
> \- \[\] Functionality is confirmed working by another person (see above checklist link)
> \- \[\] Final code review is passed and code conforms to the 
> \[styleguide\](https://github.com/Revolutionary-Games/Thrive/blob/master/doc/style\_guide.md).
> 
> Before merging all CI jobs should finish on this PR without errors, if
> there are automatically detected style issues they should be fixed by
> the PR author. Merging must follow our
> \[styleguide\](https://github.com/Revolutionary-Games/Thrive/blob/master/doc/style\_guide.md#git).

---

<div class="post-metadata">

**Author:** ![hhyyrylainen](https://thrivedevforum-cdn.b-cdn.net/user_avatar/forum.revolutionarygamesstudio.com/hhyyrylainen/32/2243_2.png) [@hhyyrylainen](https://forum.revolutionarygamesstudio.com/u/hhyyrylainen)\
**Post date:** [September 10, 2022, 8:33am UTC](https://forum.revolutionarygamesstudio.com/t/major-changes-to-thrive-repository-structure-and-scripts/953/2 "2022-09-10T08:33:05Z")

</div>

That PR is now merged.
