Project file generation with xcodegen

This commit is contained in:
Gil Eluard
2020-12-06 22:37:52 +01:00
parent 9243582b42
commit c456f54fe7
12 changed files with 7698 additions and 7146 deletions

3
.gitignore vendored
View File

@@ -27,7 +27,8 @@ out/
#
Pods/
# Do not track our workspace since it is created by CocoaPods
## Ignore project files as we generate them with xcodegen (https://github.com/yonaskolb/XcodeGen)
*.xcodeproj
*.xcworkspace
# Fastlane

View File

@@ -7,6 +7,7 @@ To build Element iOS project you need:
- Xcode 12.1+.
- [Ruby](https://www.ruby-lang.org/), a dynamic programming language used by several build tools.
- [CocoaPods](https://cocoapods.org), library dependencies manager for Xcode projects.
- [XcodeGen](https://github.com/yonaskolb/XcodeGen), an Xcode project generator.
- [bundler](https://bundler.io/) (optional), is also a dependency manager used to manage build tools dependency (CocoaPods, Fastlane).
### Install Ruby
@@ -20,17 +21,30 @@ If you do not want to grant the ruby package manager, [RubyGems](https://rubygem
To install CocoaPods you can grab the right version by using `bundler` (recommended) or you can directly install it with RubyGems:
```
gem install cocoapods
$ gem install cocoapods
```
In the last case please ensure that you are using the same version as indicated at the end of the `Podfile.lock` file.
### Install XcodeGen
You can directly install XcodeGen with [Homebrew](https://brew.sh) or RubyGems:
```
$ brew install xcodegen
```
or
```
$ gem install xcodegen
```
### Install bundler (optional)
By using `bundler` you will ensure to use the right versions of build tools used to build and deliver the project. You can find dependency definitions in the `Gemfile`. To install `bundler`:
```
gem install bundler
$ gem install bundler
```
## Choose Matrix SDKs version to build
@@ -67,6 +81,17 @@ Assuming you have already completed the **Install dependencies** instructions fr
Each time you edit `$matrixKitVersion` variable in the `Podfile` you will have to run the `pod install` command.
## Generate Xcode project
In order to get rid of git conflicts, the `Riot.xcodeproj` is not pushed into the git repository anymore but generated using `XcodeGen`. To generate the `xcodeproj` file simply run the following command line in the `Riot` folder:
```
$ cd Riot
$ xcodegen
```
**Note**: After the project file generation, the script `createWorkspace.sh` is called to generate the associated workspace (see **Install dependencies**).
## Build
### Install dependencies
@@ -89,7 +114,14 @@ $ pod install
```
This will load all dependencies for the Element source code, including [MatrixKit](https://github.com/matrix-org/matrix-ios-kit)
and [MatrixSDK](https://github.com/matrix-org/matrix-ios-sdk).
and [MatrixSDK](https://github.com/matrix-org/matrix-ios-sdk).
[1]**Note**: you can run the script `createWorkspace.sh`. This script runs `bundler` if it's installed, CocoaPods otherwise:
```
$ cd Riot
$ sh createWorkspace.sh
```
### Open workspace
@@ -103,7 +135,9 @@ $ open Riot.xcworkspace
### Configure project
You may need to change the bundle identifier and app group identifier to be unique to get Xcode to build the app. Make sure to change the bundle identifier, application group identifier and app name in the `Config/Common.xcconfig` file to your new identifiers.
You may need to change the bundle identifier and app group identifier to be unique to get Xcode to build the app. Make sure to change the bundle identifier, application group identifier and app name in the `project.yml` file to your new identifiers.
Each target has its own YAML file in the folder Targets folder.
## Generate IPA

File diff suppressed because it is too large Load Diff

View File

@@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>FILEHEADER</key>
<string>
// Copyright 2020 New Vector Ltd
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//</string>
</dict>
</plist>

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0940"
LastUpgradeVersion = "1200"
version = "1.3">
<BuildAction
parallelizeBuildables = "NO"
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
@@ -14,39 +14,27 @@
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F094A9A11B78D8F000B1FBBF"
BlueprintIdentifier = "57B13CC4586E9D43ED24DE1E"
BuildableName = "Riot.app"
BlueprintName = "Riot"
ReferencedContainer = "container:Riot.xcodeproj">
</BuildableReference>
</BuildActionEntry>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "NO"
buildForArchiving = "NO"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F094A9BD1B78D8F000B1FBBF"
BuildableName = "RiotTests.xctest"
BlueprintName = "RiotTests"
ReferencedContainer = "container:Riot.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES">
onlyGenerateCoverageForSpecifiedTargets = "NO"
shouldUseLaunchSchemeArgsEnv = "YES"
disableMainThreadChecker = "YES">
<Testables>
<TestableReference
skipped = "NO">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F094A9BD1B78D8F000B1FBBF"
BlueprintIdentifier = "287703423C2C302524E92C03"
BuildableName = "RiotTests.xctest"
BlueprintName = "RiotTests"
ReferencedContainer = "container:Riot.xcodeproj">
@@ -56,14 +44,14 @@
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F094A9A11B78D8F000B1FBBF"
BlueprintIdentifier = "57B13CC4586E9D43ED24DE1E"
BuildableName = "Riot.app"
BlueprintName = "Riot"
ReferencedContainer = "container:Riot.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
<CommandLineArguments>
</CommandLineArguments>
</TestAction>
<LaunchAction
buildConfiguration = "Debug"
@@ -74,19 +62,20 @@
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
debugServiceExtension = "internal"
allowLocationSimulation = "YES">
allowLocationSimulation = "YES"
disableMainThreadChecker = "YES">
<BuildableProductRunnable
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F094A9A11B78D8F000B1FBBF"
BlueprintIdentifier = "57B13CC4586E9D43ED24DE1E"
BuildableName = "Riot.app"
BlueprintName = "Riot"
ReferencedContainer = "container:Riot.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
<CommandLineArguments>
</CommandLineArguments>
</LaunchAction>
<ProfileAction
buildConfiguration = "Release"
@@ -98,12 +87,14 @@
runnableDebuggingMode = "0">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "F094A9A11B78D8F000B1FBBF"
BlueprintIdentifier = "57B13CC4586E9D43ED24DE1E"
BuildableName = "Riot.app"
BlueprintName = "Riot"
ReferencedContainer = "container:Riot.xcodeproj">
</BuildableReference>
</BuildableProductRunnable>
<CommandLineArguments>
</CommandLineArguments>
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">

95
Targets/Riot.yml Normal file
View File

@@ -0,0 +1,95 @@
name: Riot
schemes:
Riot:
analyze:
config: Debug
archive:
config: Release
build:
targets:
Riot:
- running
- testing
- profiling
- analyzing
- archiving
profile:
config: Release
run:
config: Debug
disableMainThreadChecker: true
test:
config: Debug
disableMainThreadChecker: true
targets:
- RiotTests
targets:
Riot:
dependencies:
- target: RiotShareExtension
- target: SiriIntents
- target: RiotNSE
platform: iOS
settings:
groups:
- appDefault
base:
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES: $(inherited)
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
CLANG_ENABLE_MODULES: YES
CODE_SIGN_ENTITLEMENTS: Riot/SupportingFiles/Riot.entitlements
ENABLE_BITCODE: NO
FRAMEWORK_SEARCH_PATHS: $(inherited)
GCC_PREPROCESSOR_DEFINITIONS: $(inherited)
HEADER_SEARCH_PATHS: $(inherited)
INFOPLIST_FILE: Riot/SupportingFiles/Info.plist
LD_RUNPATH_SEARCH_PATHS: $(inherited) @executable_path/Frameworks
LIBRARY_SEARCH_PATHS: $(inherited)
OTHER_CFLAGS: $(inherited)
OTHER_LDFLAGS: $(inherited)
OTHER_SWIFT_FLAGS: $(inherited)
PRODUCT_BUNDLE_IDENTIFIER: $(BASE_BUNDLE_IDENTIFIER)
PRODUCT_NAME: Riot
SWIFT_OBJC_BRIDGING_HEADER: $(SRCROOT)/$(PRODUCT_NAME)/SupportingFiles/Riot-Bridging-Header.h
TARGETED_DEVICE_FAMILY: 1,2
USER_HEADER_SEARCH_PATHS: $(inherited)
configs:
Debug:
CODE_SIGN_IDENTITY: iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*]: iPhone Developer
CODE_SIGN_STYLE: Automatic
PROVISIONING_PROFILE_SPECIFIER:
SWIFT_OPTIMIZATION_LEVEL: -Onone
Release:
CODE_SIGN_IDENTITY: iPhone Distribution
CODE_SIGN_STYLE: Manual
PROVISIONING_PROFILE: $(RIOT_PROVISIONING_PROFILE)
PROVISIONING_PROFILE_SPECIFIER: $(RIOT_PROVISIONING_PROFILE_SPECIFIER)
sources:
- path: ../Tools
excludes:
- "Logs"
- "Release"
- "Templates/*.sh"
- path: ../Config
excludes:
- "AppConfig.swift"
- path: ../Riot
excludes:
- "Modules/Room/EmojiPicker/Data/EmojiMart/EmojiJSONStore.swift"
- "Modules/KeyBackup/Recover/Loading"
- "Modules/KeyBackup/Setup/RecoveryKey"
- "**/*.strings" # Exclude all strings files
- path: ../Riot/Assets/en.lproj/Vector.strings # except Vector.strings
- path: ../Riot/SupportingFiles/App-Common.xcconfig
buildPhase: resources
type: application
preBuildScripts:
- name: ⚠️ SwiftLint
runOnlyWhenInstalling: false
shell: /bin/sh
script: "${PODS_ROOT}/SwiftLint/swiftlint\n"
- name: 🛠 SwiftGen
runOnlyWhenInstalling: false
shell: /bin/sh
script: "${PODS_ROOT}/SwiftGen/bin/swiftgen config run --config Tools/SwiftGen/swiftgen-config.yml\n"

93
Targets/RiotNSE.yml Normal file
View File

@@ -0,0 +1,93 @@
name: RiotNSE
schemes:
RiotNSE:
analyze:
config: Debug
archive:
config: Release
build:
targets:
RiotNSE:
- running
- testing
- profiling
- analyzing
- archiving
profile:
config: Release
run:
askForAppToLaunch: true
config: Debug
debugEnabled: false
disableMainThreadChecker: true
launchAutomaticallySubstyle: 2
test:
config: Debug
disableMainThreadChecker: true
targets:
RiotNSE:
platform: iOS
type: app-extension
sources:
- path: ../RiotNSE
- path: ../Riot/Managers/Settings/RiotSettings.swift
- path: ../Config/BuildSettings.swift
- path: ../Riot/Utils/DataProtectionHelper.swift
- path: ../Config/CommonConfiguration.swift
- path: ../Riot/Managers/PushNotification/PushNotificationStore.swift
- path: ../Riot/Modules/SetPinCode/PinCodePreferences.swift
- path: ../Riot/Generated/InfoPlist.swift
- path: ../Riot/Managers/KeyValueStorage/Extensions/Keychain.swift
- path: ../Riot/Modules/SetPinCode/SetupBiometrics/BiometricsAuthenticationPresenter.swift
- path: ../Riot/Categories/UNUserNotificationCenter.swift
- path: ../Riot/Managers/KeyValueStorage/KeyValueStore.swift
- path: ../Riot/Categories/Bundle.swift
- path: ../Riot/Generated/Strings.swift
- path: ../Riot/Generated/Images.swift
- path: ../Riot/Managers/KeyValueStorage/KeychainStore.swift
- path: ../Riot/Managers/LocalAuthentication/LocalAuthenticationService.swift
- path: ../Config/Configurable.swift
- path: ../Riot/Utils/Constants.swift
- path: ../RiotNSE/NSE-Common.xcconfig
buildPhase: resources
settings:
groups:
- appDefault
base:
CLANG_ANALYZER_NONNULL: YES
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION: YES_AGGRESSIVE
CLANG_CXX_LANGUAGE_STANDARD: gnu++14
CLANG_ENABLE_OBJC_WEAK: YES
CLANG_WARN_DOCUMENTATION_COMMENTS: YES
CLANG_WARN_UNGUARDED_AVAILABILITY: YES_AGGRESSIVE
CODE_SIGN_ENTITLEMENTS: RiotNSE/RiotNSE.entitlements
ENABLE_BITCODE: NO
GCC_C_LANGUAGE_STANDARD: gnu11
INFOPLIST_FILE: RiotNSE/Info.plist
MTL_FAST_MATH: YES
PRODUCT_BUNDLE_IDENTIFIER: $(BASE_BUNDLE_IDENTIFIER).nse
PRODUCT_NAME: RiotNSE
SKIP_INSTALL: YES
TARGETED_DEVICE_FAMILY: 1,2
configs:
Debug:
CODE_SIGN_IDENTITY: iPhone Developer
CODE_SIGN_STYLE: Automatic
DEBUG_INFORMATION_FORMAT: dwarf
MTL_ENABLE_DEBUG_INFO: INCLUDE_SOURCE
PROVISIONING_PROFILE_SPECIFIER: ""
SWIFT_ACTIVE_COMPILATION_CONDITIONS: DEBUG
SWIFT_OPTIMIZATION_LEVEL: -Onone
Release:
CODE_SIGN_IDENTITY: iPhone Distribution
CODE_SIGN_STYLE: Manual
COPY_PHASE_STRIP: NO
DEBUG_INFORMATION_FORMAT: dwarf-with-dsym
PROVISIONING_PROFILE: $(NSE_PROVISIONING_PROFILE)
PROVISIONING_PROFILE_SPECIFIER: $(NSE_PROVISIONING_PROFILE_SPECIFIER)
SWIFT_OPTIMIZATION_LEVEL: -O
postbuildScripts:
- name: Embed Precompiled Frameworks
runOnlyWhenInstalling: false
script: echo "Skipping, nothing to be embedded."
shell: /bin/sh

View File

@@ -0,0 +1,105 @@
name: RiotShareExtension
schemes:
RiotShareExtension:
analyze:
config: Debug
archive:
config: Release
build:
targets:
RiotShareExtension:
- running
- testing
- profiling
- analyzing
- archiving
profile:
config: Release
run:
askForAppToLaunch: true
config: Debug
debugEnabled: false
disableMainThreadChecker: true
launchAutomaticallySubstyle: 2
test:
config: Debug
disableMainThreadChecker: true
targets:
RiotShareExtension:
platform: iOS
sources:
- path: ../RiotShareExtension
- path: ../Riot/Modules/Common/SegmentedViewController/SegmentedViewController.m
- path: ../Riot/Categories/Bundle.swift
- path: ../Riot/Managers/Theme/Themes/DefaultTheme.swift
- path: ../Riot/Managers/Theme/ThemeService.m
- path: ../Riot/Utils/AvatarGenerator.m
- path: ../Riot/Generated/InfoPlist.swift
- path: ../Config/BuildSettings.swift
- path: ../Riot/Categories/Character.swift
- path: ../Riot/Managers/Theme/Themes/BlackTheme.swift
- path: ../Riot/Categories/MXRoom+Riot.m
- path: ../Config/Configurable.swift
- path: ../Config/CommonConfiguration.swift
- path: ../Riot/Utils/UserNameColorGenerator.swift
- path: ../Riot/Categories/MXRoomSummary+Riot.m
- path: ../Riot/Managers/Theme/Theme.swift
- path: ../Riot/Managers/Settings/RiotSettings.swift
- path: ../Riot/Categories/UIColor.swift
- path: ../Riot/Managers/Theme/Themes/DarkTheme.swift
- path: ../Riot/Categories/UISearchBar.swift
- path: ../Riot/Categories/String.swift
- path: ../Riot/Modules/Common/Recents/CellData/RecentCellData.m
- path: ../Riot/Modules/Common/SegmentedViewController/SegmentedViewController.xib
buildPhase: resources
- path: ../Riot/Assets/en.lproj/Vector.strings
buildPhase: resources
- path: ../RiotShareExtension/SupportingFiles/ShareExtension-Common.xcconfig
buildPhase: resources
- path: ../Riot/Assets/SharedImages.xcassets
buildPhase: resources
type: app-extension
postbuildScripts:
- name: Embed Precompiled Frameworks
runOnlyWhenInstalling: false
script: echo "Skipping, nothing to be embedded."
shell: /bin/sh
settings:
groups:
- appDefault
base:
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES: $(inherited)
APPLICATION_EXTENSION_API_ONLY: YES
ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon
CLANG_ANALYZER_NONNULL: YES
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION: YES_AGGRESSIVE
CLANG_WARN_DOCUMENTATION_COMMENTS: YES
CODE_SIGN_ENTITLEMENTS: RiotShareExtension/SupportingFiles/RiotShareExtension.entitlements
ENABLE_BITCODE: NO
FRAMEWORK_SEARCH_PATHS: $(inherited)
GCC_PREPROCESSOR_DEFINITIONS: $(inherited) IS_SHARE_EXTENSION=1
HEADER_SEARCH_PATHS: $(inherited)
INFOPLIST_FILE: RiotShareExtension/SupportingFiles/Info.plist
LD_RUNPATH_SEARCH_PATHS: $(inherited) @executable_path/Frameworks @executable_path/../../Frameworks
LIBRARY_SEARCH_PATHS: $(inherited)
OTHER_CFLAGS: $(inherited)
OTHER_LDFLAGS: $(inherited)
OTHER_SWIFT_FLAGS: $(inherited)
PRODUCT_NAME: RiotShareExtension
SKIP_INSTALL: YES
SWIFT_OBJC_BRIDGING_HEADER: $(SRCROOT)/$(PRODUCT_NAME)/SupportingFiles/RiotShareExtension-Bridging-Header.h
USER_HEADER_SEARCH_PATHS: $(inherited)
PRODUCT_BUNDLE_IDENTIFIER: $(BASE_BUNDLE_IDENTIFIER).shareExtension
configs:
Debug:
CODE_SIGN_IDENTITY: iPhone Developer
CODE_SIGN_STYLE: Automatic
DEBUG_INFORMATION_FORMAT: dwarf
PROVISIONING_PROFILE_SPECIFIER: ""
Release:
CODE_SIGN_IDENTITY: iPhone Distribution
CODE_SIGN_STYLE: Manual
COPY_PHASE_STRIP: NO
DEBUG_INFORMATION_FORMAT: dwarf-with-dsym
PROVISIONING_PROFILE: $(SHARE_EXTENSION_PROVISIONING_PROFILE)
PROVISIONING_PROFILE_SPECIFIER: $(SHARE_EXTENSION_PROVISIONING_PROFILE_SPECIFIER)

59
Targets/RiotTests.yml Normal file
View File

@@ -0,0 +1,59 @@
name: RiotTests
schemes:
RiotTests:
analyze:
config: Debug
archive:
config: Release
build:
targets:
RiotTests:
- running
- testing
- profiling
- analyzing
- archiving
profile:
config: Release
run:
config: Debug
disableMainThreadChecker: true
test:
config: Debug
disableMainThreadChecker: true
targets:
- RiotTests
targets:
RiotTests:
dependencies:
- target: Riot
platform: iOS
postbuildScripts:
- name: Embed Precompiled Frameworks
runOnlyWhenInstalling: false
script: echo "Skipping, nothing to be embedded."
shell: /bin/sh
settings:
groups:
- appDefault
base:
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES: $(inherited)
BUNDLE_LOADER: $(TEST_HOST)
CLANG_ENABLE_MODULES: YES
CODE_SIGN_STYLE: Manual
FRAMEWORK_SEARCH_PATHS: $(SDKROOT)/Developer/Library/Frameworks $(inherited)
INFOPLIST_FILE: RiotTests/Info.plist
LD_RUNPATH_SEARCH_PATHS: $(inherited) @executable_path/Frameworks @loader_path/Frameworks
PRODUCT_BUNDLE_IDENTIFIER: org.matrix.$(PRODUCT_NAME:rfc1034identifier)
PRODUCT_NAME: RiotTests
SWIFT_OBJC_BRIDGING_HEADER: RiotTests/RiotTests-Bridging-Header.h
TEST_HOST: $(BUILT_PRODUCTS_DIR)/Riot.app/Riot
configs:
Debug:
GCC_PREPROCESSOR_DEFINITIONS: DEBUG=1 $(inherited)
SWIFT_OPTIMIZATION_LEVEL: -Onone
Release:
PROVISIONING_PROFILE: $(RIOT_PROVISIONING_PROFILE)
PROVISIONING_PROFILE_SPECIFIER: $(RIOT_PROVISIONING_PROFILE_SPECIFIER)
sources: [../RiotTests]
type: bundle.unit-test

83
Targets/SiriIntents.yml Normal file
View File

@@ -0,0 +1,83 @@
name: SiriIntents
schemes:
SiriIntents:
analyze:
config: Debug
archive:
config: Release
build:
targets:
SiriIntents:
- running
- testing
- profiling
- analyzing
- archiving
profile:
config: Release
run:
askForAppToLaunch: true
config: Debug
debugEnabled: false
disableMainThreadChecker: true
launchAutomaticallySubstyle: 2
test:
config: Debug
disableMainThreadChecker: true
targets:
SiriIntents:
platform: iOS
type: app-extension
sources:
- path: ../SiriIntents
- path: ../Riot/Generated/InfoPlist.swift
- path: ../Riot/Categories/Bundle.swift
- path: ../Config/CommonConfiguration.swift
- path: ../Config/BuildSettings.swift
- path: ../Config/Configurable.swift
- path: ../Riot/Managers/Settings/RiotSettings.swift
- path: ../SiriIntents/SiriIntents-Common.xcconfig
buildPhase: resources
dependencies:
- sdk: Intents.framework
postbuildScripts:
- name: Embed Precompiled Frameworks
runOnlyWhenInstalling: false
script: echo "Skipping, nothing to be embedded."
shell: /bin/sh
settings:
groups:
- appDefault
base:
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES: $(inherited)
CLANG_ANALYZER_NONNULL: YES
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION: YES_AGGRESSIVE
CLANG_WARN_DOCUMENTATION_COMMENTS: YES
CODE_SIGN_ENTITLEMENTS: SiriIntents/SiriIntents.entitlements
ENABLE_BITCODE: NO
FRAMEWORK_SEARCH_PATHS: $(inherited)
GCC_PREPROCESSOR_DEFINITIONS: $(inherited)
HEADER_SEARCH_PATHS: $(inherited)
INFOPLIST_FILE: SiriIntents/Info.plist
LD_RUNPATH_SEARCH_PATHS: $(inherited) @executable_path/Frameworks @executable_path/../../Frameworks
LIBRARY_SEARCH_PATHS: $(inherited)
OTHER_CFLAGS: $(inherited)
OTHER_LDFLAGS: $(inherited)
OTHER_SWIFT_FLAGS: $(inherited)
PRODUCT_BUNDLE_IDENTIFIER: $(BASE_BUNDLE_IDENTIFIER).SiriIntents
PRODUCT_NAME: SiriIntents
SKIP_INSTALL: YES
USER_HEADER_SEARCH_PATHS: $(inherited)
configs:
Debug:
CODE_SIGN_IDENTITY: iPhone Developer
CODE_SIGN_STYLE: Automatic
DEBUG_INFORMATION_FORMAT: dwarf
PROVISIONING_PROFILE_SPECIFIER: ""
Release:
CODE_SIGN_IDENTITY: iPhone Distribution
CODE_SIGN_STYLE: Manual
COPY_PHASE_STRIP: NO
DEBUG_INFORMATION_FORMAT: dwarf-with-dsym
PROVISIONING_PROFILE: $(SIRI_INTENTS_PROVISIONING_PROFILE)
PROVISIONING_PROFILE_SPECIFIER: $(SIRI_INTENTS_PROVISIONING_PROFILE_SPECIFIER)

8
createWorkspace.sh Normal file
View File

@@ -0,0 +1,8 @@
#!/bin/bash
if [ $(gem list bundler -i) ]; then
bundle install
bundle exec pod install
else
pod install
fi

99
project.yml Normal file
View File

@@ -0,0 +1,99 @@
attributes:
ORGANIZATIONNAME: matrix.org
configs:
Debug: debug
Release: release
name: Riot
settingGroups:
appDefault:
CURRENT_PROJECT_VERSION: 20200826151407
SWIFT_VERSION: 5.3.1
BUNDLE_DISPLAY_NAME: Element
APPLICATION_GROUP_IDENTIFIER: group.im.vector
BASE_BUNDLE_IDENTIFIER: im.vector.app
KEYCHAIN_ACCESS_GROUP: $(AppIdentifierPrefix)$(BASE_BUNDLE_IDENTIFIER).keychain.shared
LD_RUNPATH_SEARCH_PATHS: $(inherited) @executable_path/Frameworks @executable_path/../../Frameworks
DEVELOPMENT_TEAM: 7J4U792NQT
RIOT_PROVISIONING_PROFILE: f65e7447-b8a3-46cc-8fba-fa60e55e2511
RIOT_PROVISIONING_PROFILE_SPECIFIER: Vector App Store
NSE_PROVISIONING_PROFILE: 31dc9316-e029-47fd-81f5-778db07d76a2
NSE_PROVISIONING_PROFILE_SPECIFIER: "Vector NSE: App Store"
SHARE_EXTENSION_PROVISIONING_PROFILE: 1a3be143-50c7-4ae2-834e-00596a053141
SHARE_EXTENSION_PROVISIONING_PROFILE_SPECIFIER: "Vector Share Extension: App Store"
SIRI_INTENTS_PROVISIONING_PROFILE: 18a66f93-ffe1-4008-b343-58350cc65023
SIRI_INTENTS_PROVISIONING_PROFILE_SPECIFIER: "Vector Siri Intents: App Store"
settings:
base:
IPHONEOS_DEPLOYMENT_TARGET: 11.0
MARKETING_VERSION: 1.1.3
CURRENT_PROJECT_VERSION: 1.1.3
SDKROOT: iphoneos
TARGETED_DEVICE_FAMILY: 1,2
ALWAYS_SEARCH_USER_PATHS: NO
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED: YES
CLANG_CXX_LANGUAGE_STANDARD: gnu++0x
CLANG_CXX_LIBRARY: libc++
CLANG_ENABLE_MODULES: YES
CLANG_ENABLE_OBJC_ARC: YES
CLANG_WARN__DUPLICATE_METHOD_MATCH: YES
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING: YES
CLANG_WARN_BOOL_CONVERSION: YES
CLANG_WARN_COMMA: YES
CLANG_WARN_CONSTANT_CONVERSION: YES
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS: YES
CLANG_WARN_DIRECT_OBJC_ISA_USAGE: YES_ERROR
CLANG_WARN_EMPTY_BODY: YES
CLANG_WARN_ENUM_CONVERSION: YES
CLANG_WARN_INFINITE_RECURSION: YES
CLANG_WARN_INT_CONVERSION: YES
CLANG_WARN_NON_LITERAL_NULL_CONVERSION: YES
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF: YES
CLANG_WARN_OBJC_LITERAL_CONVERSION: YES
CLANG_WARN_OBJC_ROOT_CLASS: YES_ERROR
CLANG_WARN_RANGE_LOOP_ANALYSIS: YES
CLANG_WARN_STRICT_PROTOTYPES: YES
CLANG_WARN_SUSPICIOUS_MOVE: YES
CLANG_WARN_UNREACHABLE_CODE: YES
DEFINES_MODULE: YES
ENABLE_STRICT_OBJC_MSGSEND: YES
GCC_C_LANGUAGE_STANDARD: gnu99
GCC_NO_COMMON_BLOCKS: YES
GCC_WARN_64_TO_32_BIT_CONVERSION: YES
GCC_WARN_ABOUT_RETURN_TYPE: YES_ERROR
GCC_WARN_UNDECLARED_SELECTOR: YES
GCC_WARN_UNINITIALIZED_AUTOS: YES_AGGRESSIVE
GCC_WARN_UNUSED_FUNCTION: YES
GCC_WARN_UNUSED_VARIABLE: YES
debug:
CODE_SIGN_IDENTITY: iPhone Developer
CODE_SIGN_IDENTITY[sdk=iphoneos*]: iPhone Developer
COPY_PHASE_STRIP: NO
ENABLE_TESTABILITY: YES
GCC_DYNAMIC_NO_PIC: NO
GCC_OPTIMIZATION_LEVEL: 0
GCC_PREPROCESSOR_DEFINITIONS: DEBUG=1 $(inherited)
GCC_SYMBOLS_PRIVATE_EXTERN: NO
MTL_ENABLE_DEBUG_INFO: YES
ONLY_ACTIVE_ARCH: YES
release:
CODE_SIGN_IDENTITY: iPhone Distribution
CODE_SIGN_IDENTITY[sdk=iphoneos*]: iPhone Distribution
COPY_PHASE_STRIP: YES
ENABLE_NS_ASSERTIONS: NO
MTL_ENABLE_DEBUG_INFO: NO
SWIFT_COMPILATION_MODE: wholemodule
VALIDATE_PRODUCT: YES
options:
defaultConfig: Release
groupSortPosition: bottom
transitivelyLinkDependencies: false
createIntermediateGroups: true
postGenCommand: sh createWorkspace.sh
include:
- path: Targets/Riot.yml
- path: Targets/RiotTests.yml
- path: Targets/RiotShareExtension.yml
- path: Targets/SiriIntents.yml
- path: Targets/RiotNSE.yml