Use Tuist Build Configuration & Bring DeltaCores into Repository#91
Draft
dcvz wants to merge 2 commits intorileytestut:developfrom
Draft
Use Tuist Build Configuration & Bring DeltaCores into Repository#91dcvz wants to merge 2 commits intorileytestut:developfrom
dcvz wants to merge 2 commits intorileytestut:developfrom
Conversation
Collaborator
|
This is a pretty big infrastructure change. @dcvz - would you mind joining out Discord and discussing this with me more in depth. My username is "Joelle (Lonkle)" on Discord. Here's the invite link: https://bit.ly/altmember-delta-general-chat |
Author
07c1703 to
ee536f9
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Background
Delta is made up of individual cores for specific emulators -- basically one project that includes other projects via cocoapods. Delta also has all other delta cores in different repositories making it hard for other contributors to coordinate additions.
The aim of this PR is to optimise the project setup, generation + compilation - while also bringing in the cores that live in other repos to make it easier for others to contribute (inspired by this tweet from @rileytestut )
What does this PR do?
.xcodeprojand.xcodeworkspaceyou define the projects, their targets and their relationships all using Swift [example: MelonDSDeltaCore/Project.swift].Tuist adds some benefits to the workflow for developing something like Delta - 1) no more conflicts in xcodeproj but more importantly 2) with their caching mechanism allows for quick compilation times and provides a "focus" mode where you can focus on one target and all other targets are replaced with pre-compiled versions.
I think this change makes this project more accessible and makes it easier for others who don't have ownership to the repos to try and contribute to this project.
Other changes that have been made
As part of the changes, I've also renamed
[Platform]DeltaCoreinto[EmulatorName]DeltaCore. I think this makes it easier to be able to allow multiple cores for one platform (similar to the current DS setup) where the users can choose which one to use. I think going fromN64DeltaCoretoMupen64PlusDeltaCoreis a right step towards this (but is debatable).Checklist
It currently compiles and runs, but crashes immediately since it imports frameworks (cores) which are not there yet.
How to run
tuist generateto create workspace!NOTE: I'm using a version of
Tuistnot released yet in which I've added some changes to support.s(assembly source files) which is needed to properly generate this project. I can help you set up this part if there's no new version of Tuist before this branch is being checked out by others.