Updates Harmony to add future backwards compatibility

Harmony will now persist properties from future model versions and later upload them, allowing for basic backwards compatibility.
This commit is contained in:
Riley Testut 2020-04-27 12:25:55 -07:00
parent a9a2819b19
commit 610697be5d
10 changed files with 1172 additions and 1074 deletions

View File

@ -954,6 +954,7 @@
"${PODS_CONFIGURATION_BUILD_DIR}/GBCDeltaCore/GBCDeltaCore.bundle",
"${PODS_ROOT}/GoogleSignIn/Resources/GoogleSignIn.bundle",
"${PODS_ROOT}/../External/Harmony/Harmony/Model/Core Data/Harmony.xcdatamodeld",
"${PODS_ROOT}/../External/Harmony/Harmony/Model/Core Data/Migrations/HarmonyToHarmony2.xcmappingmodel",
"${PODS_CONFIGURATION_BUILD_DIR}/MelonDSDeltaCore/melonDS.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/N64DeltaCore/Mupen64Plus.bundle",
"${PODS_CONFIGURATION_BUILD_DIR}/NESDeltaCore/NESDeltaCore.bundle",
@ -969,6 +970,7 @@
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GBCDeltaCore.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/GoogleSignIn.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Harmony.momd",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/HarmonyToHarmony2.cdm",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/melonDS.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/Mupen64Plus.bundle",
"${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/NESDeltaCore.bundle",

View File

@ -63,6 +63,12 @@ extension DatabaseManager
{
guard !self.isStarted else { return }
for description in self.persistentStoreDescriptions
{
// Set configuration so RSTPersistentContainer can determine how to migrate this and Harmony's database independently.
description.configuration = NSManagedObjectModel.Configuration.external.rawValue
}
self.loadPersistentStores { (description, error) in
guard error == nil else { return completionHandler(error) }

2
External/Harmony vendored

@ -1 +1 @@
Subproject commit e81864c6204f7c5c408d045f872f0088b599e785
Subproject commit 1739ef47732f2cecbf58f3a2aef40ecf5f844d2b

2
External/Roxas vendored

@ -1 +1 @@
Subproject commit 08c92a5d255e9418fe0450375e8403d40d7d48d6
Subproject commit c152110888bc420e39e68c4d97af168cbfe9cbb2

View File

@ -136,7 +136,7 @@ SPEC CHECKSUMS:
GoogleSignIn: 7ff245e1a7b26d379099d3243a562f5747e23d39
GoogleToolboxForMac: 800648f8b3127618c1b59c7f97684427630c5ea3
GTMSessionFetcher: cea130bbfe5a7edc8d06d3f0d17288c32ffe9925
Harmony: 1978345dcf69ce6cf4c94c07405ebf01b7d6fe28
Harmony: cea514db17c41c22f78f54b17d2135935b5e9b96
MelonDSDeltaCore: d6e0953bd475a17848964b4fc48bf0e838617984
N64DeltaCore: 7d176e01443fa138bdfc79ad908c78f271f3e0a7
NESDeltaCore: 41ab438dd78d51d4636aacb7d9a7336ea3d4728c

View File

@ -17,7 +17,10 @@
"source_files": "Harmony/**/*.{h,m,swift}",
"public_header_files": "Harmony/Harmony.h",
"header_mappings_dir": "",
"resources": "Harmony/**/*.xcdatamodeld",
"resources": [
"Harmony/**/*.xcdatamodeld",
"Harmony/**/*.xcmappingmodel"
],
"dependencies": {
"Roxas": [

2
Pods/Manifest.lock generated
View File

@ -136,7 +136,7 @@ SPEC CHECKSUMS:
GoogleSignIn: 7ff245e1a7b26d379099d3243a562f5747e23d39
GoogleToolboxForMac: 800648f8b3127618c1b59c7f97684427630c5ea3
GTMSessionFetcher: cea130bbfe5a7edc8d06d3f0d17288c32ffe9925
Harmony: 1978345dcf69ce6cf4c94c07405ebf01b7d6fe28
Harmony: cea514db17c41c22f78f54b17d2135935b5e9b96
MelonDSDeltaCore: d6e0953bd475a17848964b4fc48bf0e838617984
N64DeltaCore: 7d176e01443fa138bdfc79ad908c78f271f3e0a7
NESDeltaCore: 41ab438dd78d51d4636aacb7d9a7336ea3d4728c

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1140"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "5CB4163F0A6D4BDE0A490758A78BA43D"
BuildableName = "libHarmony.a"
BlueprintName = "Harmony"
ReferencedContainer = "container:Pods.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
<Testables>
</Testables>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "0"
useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
debugDocumentVersioning = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "5CB4163F0A6D4BDE0A490758A78BA43D"
BuildableName = "libHarmony.a"
BlueprintName = "Harmony"
ReferencedContainer = "container:Pods.xcodeproj">
</BuildableReference>
</MacroExpansion>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>

View File

@ -103,6 +103,7 @@ if [[ "$CONFIGURATION" == "Debug" ]]; then
install_resource "${PODS_CONFIGURATION_BUILD_DIR}/GBCDeltaCore/GBCDeltaCore.bundle"
install_resource "${PODS_ROOT}/GoogleSignIn/Resources/GoogleSignIn.bundle"
install_resource "${PODS_ROOT}/../External/Harmony/Harmony/Model/Core Data/Harmony.xcdatamodeld"
install_resource "${PODS_ROOT}/../External/Harmony/Harmony/Model/Core Data/Migrations/HarmonyToHarmony2.xcmappingmodel"
install_resource "${PODS_CONFIGURATION_BUILD_DIR}/MelonDSDeltaCore/melonDS.bundle"
install_resource "${PODS_CONFIGURATION_BUILD_DIR}/N64DeltaCore/Mupen64Plus.bundle"
install_resource "${PODS_CONFIGURATION_BUILD_DIR}/NESDeltaCore/NESDeltaCore.bundle"
@ -117,6 +118,7 @@ if [[ "$CONFIGURATION" == "Release" ]]; then
install_resource "${PODS_CONFIGURATION_BUILD_DIR}/GBCDeltaCore/GBCDeltaCore.bundle"
install_resource "${PODS_ROOT}/GoogleSignIn/Resources/GoogleSignIn.bundle"
install_resource "${PODS_ROOT}/../External/Harmony/Harmony/Model/Core Data/Harmony.xcdatamodeld"
install_resource "${PODS_ROOT}/../External/Harmony/Harmony/Model/Core Data/Migrations/HarmonyToHarmony2.xcmappingmodel"
install_resource "${PODS_CONFIGURATION_BUILD_DIR}/MelonDSDeltaCore/melonDS.bundle"
install_resource "${PODS_CONFIGURATION_BUILD_DIR}/N64DeltaCore/Mupen64Plus.bundle"
install_resource "${PODS_CONFIGURATION_BUILD_DIR}/NESDeltaCore/NESDeltaCore.bundle"