Files
2022-04-12 16:34:17 +03:00

292 lines
10 KiB
YAML

name: PrivadoVPN
options:
bundleIdPrefix: io.privado
defaultConfig: {{defaultConfig}}
attributes:
ORGANIZATIONNAME: Privado LLC
packages:
Starscream:
path: Vendors/spm/Starscream
SwiftyMarkdown:
path: Vendors/spm/SwiftyMarkdown
SwiftyPing:
path: Vendors/spm/SwiftyPing
SwiftyStoreKit:
path: Vendors/spm/SwiftyStoreKit
SnowplowTracker:
path: Vendors/spm/Snowplow_2.2.0
Sentry:
url: https://github.com/getsentry/sentry-cocoa
majorVersion: 5.2.2
TunnelKit:
path: Vendors/spm/tunnelkit-4.1.0
TunnelKitOpenVPN:
path: Vendors/spm/tunnelkit-4.1.0
TunnelKitWireGuard:
path: Vendors/spm/tunnelkit-4.1.0
TunnelKitOpenVPNAppExtension:
path: Vendors/spm/tunnelkit-4.1.0
TunnelKitWireGuardAppExtension:
path: Vendors/spm/tunnelkit-4.1.0
targets:
Privado:
scheme:
environmentVariables:
COPYRIGHT: Privado LLC
type: application
platform: iOS
deploymentTarget: 12.0
devices: [iPhone, iPad]
name: {{TARGET_PRIVADO_NAME}}
sources:
- path: ./Privado/Sources
name: Privado
excludes:
- "**/PreferencesWindowFlow/**"
- "**/ServerListTableView.swift"
- "**/ServerListWindow.swift"
- path: ./Assets
name: Assets
buildPhase: resources
templates: [Shared]
entitlements:
path: "./Privado/Privado.entitlements"
properties:
com.apple.developer.networking.networkextension: [packet-tunnel-provider]
com.apple.developer.networking.vpn.api: [allow-vpn]
com.apple.security.inherit: true
com.apple.security.application-groups: [group.$(PRODUCT_BUNDLE_IDENTIFIER)]
keychain-access-groups: [$(AppIdentifierPrefix){{APPLICATION_IDENTIFIER}}]
settings:
base:
GCC_PREPROCESSOR_DEFINITIONS:
- "$(inherited)"
- PRODUCTION
INFOPLIST_FILE: ./Privado/Info.plist
PRODUCT_BUNDLE_IDENTIFIER: "{{APPLICATION_IDENTIFIER}}"
CODE_SIGN_STYLE: Manual
DEVELOPMENT_TEAM: "{{DEVELOPMENT_TEAM}}"
OTHER_CODE_SIGN_FLAGS: --timestamp
ENABLE_BITCODE: NO
ASSETCATALOG_COMPILER_APPICON_NAME: "AppIcon.iOS"
LD_RUNPATH_SEARCH_PATHS:
- "$(inherited)"
- "@executable_path/Frameworks"
- "@loader_path/Frameworks"
configs:
debug:
ENABLE_SWIFTLINT: YES
SWIFT_ACTIVE_COMPILATION_CONDITIONS:
- {{SWIFT_ACTIVE_COMPILATION_CONDITIONS}}
CODE_SIGN_IDENTITY: "{{CODE_SIGN_IDENTITY}}"
PROVISIONING_PROFILE_SPECIFIER: "{{PROVISIONING_PROFILE_SPECIFIER}}"
release:
ENABLE_SWIFTLINT: YES
SWIFT_ACTIVE_COMPILATION_CONDITIONS:
- {{SWIFT_ACTIVE_COMPILATION_CONDITIONS}}
CODE_SIGN_IDENTITY: "{{CODE_SIGN_IDENTITY}}"
PROVISIONING_PROFILE_SPECIFIER: "{{PROVISIONING_PROFILE_SPECIFIER}}"
info:
path: ./Privado/Info.plist
properties:
CFBundleDevelopmentRegion: $(DEVELOPMENT_LANGUAGE)
CFBundleDisplayName: {{CFBundleDisplayName}}
CFBundleExecutable: $(EXECUTABLE_NAME)
CFBundleIdentifier: $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion: "6.0"
CFBundleName: $(PRODUCT_NAME)
CFBundlePackageType: $(PRODUCT_BUNDLE_PACKAGE_TYPE)
CFBundleShortVersionString: "2.2.1"
CFBundleVersion: "5"
CFBundlePackageType: APPL
CFBundleURLTypes:
- CFBundleTypeRole: "Editor"
CFBundleURLSchemes: [privadovpn]
ITSAppUsesNonExemptEncryption: false
LSRequiresIPhoneOS: true
PRIVADO_BUILD_TIMESTAMP: "2021-12-06"
UIAppFonts:
- "SF-Pro-Text-Semibold.otf"
- "Spartan-Regular.ttf"
- "Spartan-SemiBold.ttf"
- "Spartan-Bold.ttf"
- "Spartan-Medium.ttf"
- "SF-Pro-Text-Black.otf"
- "SF-Pro-Text-Heavy.ttf"
- "SF-Pro-Text-Regular.otf"
- "SF-Pro-Text-Light.ttf"
- "SF-Pro-Text-Bold.otf"
- "Roboto-Black.ttf"
- "Roboto-Medium.ttf"
UILaunchStoryboardName: "Launch"
UIMainStoryboardFile: ""
UIRequiredDeviceCapabilities: ["armv7"]
UIStatusBarStyle: "UIStatusBarStyleLightContent"
UISupportedInterfaceOrientations: ["UIInterfaceOrientationPortrait"]
UISupportedInterfaceOrientations~ipad: ["UIInterfaceOrientationPortrait", "UIInterfaceOrientationPortraitUpsideDown", "UIInterfaceOrientationLandscapeLeft", "UIInterfaceOrientationLandscapeRight"]
UIViewControllerBasedStatusBarAppearance: true
dependencies:
- target: OpenVPN
embed: true
- target: WireGuard
embed: true
- package: Sentry
- package: Starscream
- package: SwiftyMarkdown
- package: SwiftyPing
- package: SwiftyStoreKit
- package: SnowplowTracker
- package: TunnelKitOpenVPN
- package: TunnelKitWireGuard
- sdk: StoreKit.framework
preBuildScripts:
- script:
/usr/libexec/PlistBuddy -c "Set :PRIVADO_BUILD_TIMESTAMP $(date +%F)" ${INFOPLIST_FILE}
name: "Change Build time in plist"
postBuildScripts:
- script:
rm -rf "${BUILT_PRODUCTS_DIR}/${PLUGINS_FOLDER_PATH}/OpenVPN.appex/Frameworks"
name: "Remove frameworks from apex"
OpenVPN:
scheme:
environmentVariables:
COPYRIGHT: Privado LLC
type: app-extension
platform: iOS
deploymentTarget: 12.0
name: OpenVPN
sources:
- path: OpenVPN/Sources
name: OpenVPN
entitlements:
path: "./OpenVPN/OpenVPN.entitlements"
properties:
com.apple.security.inherit: true
com.apple.developer.networking.networkextension: [packet-tunnel-provider]
com.apple.security.application-groups: [group.{{APPLICATION_IDENTIFIER}}]
keychain-access-groups: [$(AppIdentifierPrefix){{APPLICATION_IDENTIFIER}}]
info:
path: "./OpenVPN/Info.plist"
properties:
CFBundleDevelopmentRegion: $(DEVELOPMENT_LANGUAGE)
CFBundleDisplayName: OpenVPN
CFBundleExecutable: $(EXECUTABLE_NAME)
CFBundleIdentifier: $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion: "6.0"
CFBundleName: $(PRODUCT_NAME)
CFBundlePackageType: $(PRODUCT_BUNDLE_PACKAGE_TYPE)
CFBundleShortVersionString: "2.2.1"
CFBundleVersion: "5"
NSExtension:
NSExtensionPointIdentifier: "com.apple.networkextension.packet-tunnel"
NSExtensionPrincipalClass: "$(PRODUCT_MODULE_NAME).PacketTunnelProvider"
settings:
base:
INFOPLIST_FILE: "./OpenVPN/Info.plist"
PRODUCT_BUNDLE_IDENTIFIER: {{APPLICATION_IDENTIFIER}}.openvpn
CODE_SIGN_STYLE: Manual
DEVELOPMENT_TEAM: {{DEVELOPMENT_TEAM}}
ENABLE_BITCODE: NO
OTHER_CODE_SIGN_FLAGS: --timestamp
TARGETED_DEVICE_FAMILY: "1"
LD_RUNPATH_SEARCH_PATHS:
- "$(inherited)"
- "@executable_path/Frameworks"
- "@executable_path/../../Frameworks"
configs:
debug:
CODE_SIGN_IDENTITY: "{{CODE_SIGN_IDENTITY}}"
PROVISIONING_PROFILE_SPECIFIER: "{{PROVISIONING_PROFILE_SPECIFIER_OVPN}}"
release:
ENABLE_SWIFTLINT: YES
CODE_SIGN_IDENTITY: "{{CODE_SIGN_IDENTITY}}"
PROVISIONING_PROFILE_SPECIFIER: "{{PROVISIONING_PROFILE_SPECIFIER_OVPN}}"
dependencies:
- sdk: NetworkExtension.framework
- package: TunnelKitOpenVPNAppExtension
WireGuard:
scheme:
environmentVariables:
COPYRIGHT: Privado LLC
type: app-extension
platform: iOS
deploymentTarget: 12.0
name: WireGuard
sources:
- path: WireGuard/Sources
name: WireGuard
entitlements:
path: "./WireGuard/WireGuard.entitlements"
properties:
com.apple.security.inherit: true
com.apple.developer.networking.networkextension: [packet-tunnel-provider]
com.apple.security.application-groups: [group.{{APPLICATION_IDENTIFIER}}]
keychain-access-groups: [$(AppIdentifierPrefix){{APPLICATION_IDENTIFIER}}]
info:
path: "./WireGuard/Info.plist"
properties:
CFBundleDevelopmentRegion: $(DEVELOPMENT_LANGUAGE)
CFBundleDisplayName: WireGuard
CFBundleExecutable: $(EXECUTABLE_NAME)
CFBundleIdentifier: $(PRODUCT_BUNDLE_IDENTIFIER)
CFBundleInfoDictionaryVersion: "6.0"
CFBundleName: $(PRODUCT_NAME)
CFBundlePackageType: $(PRODUCT_BUNDLE_PACKAGE_TYPE)
CFBundleShortVersionString: "2.2.1"
CFBundleVersion: "5"
NSExtension:
NSExtensionPointIdentifier: "com.apple.networkextension.packet-tunnel"
NSExtensionPrincipalClass: "$(PRODUCT_MODULE_NAME).PacketTunnelProvider"
settings:
base:
INFOPLIST_FILE: "./WireGuard/Info.plist"
PRODUCT_BUNDLE_IDENTIFIER: {{APPLICATION_IDENTIFIER}}.wireguard
CODE_SIGN_STYLE: Manual
DEVELOPMENT_TEAM: {{DEVELOPMENT_TEAM}}
ENABLE_BITCODE: NO
OTHER_CODE_SIGN_FLAGS: --timestamp
TARGETED_DEVICE_FAMILY: "1"
LD_RUNPATH_SEARCH_PATHS:
- "$(inherited)"
- "@executable_path/Frameworks"
- "@executable_path/../../Frameworks"
configs:
debug:
CODE_SIGN_IDENTITY: "{{CODE_SIGN_IDENTITY}}"
PROVISIONING_PROFILE_SPECIFIER: "{{PROVISIONING_PROFILE_SPECIFIER_WIREGUARD}}"
release:
ENABLE_SWIFTLINT: YES
CODE_SIGN_IDENTITY: "{{CODE_SIGN_IDENTITY}}"
PROVISIONING_PROFILE_SPECIFIER: "{{PROVISIONING_PROFILE_SPECIFIER_WIREGUARD}}"
dependencies:
- sdk: NetworkExtension.framework
- package: TunnelKitWireGuardAppExtension
- target: WireGuardKitGo
# Legacy helper for WireGuard
WireGuardKitGo:
type: ""
platform: iOS
deploymentTarget: 12.0
name: WireGuardKitGo
legacy:
toolPath: "$(PROJECT_DIR)/../BuildTools/build_wireguard_go_bridge.sh"
arguments: "$(ACTION)"
passSettings: true
targetTemplates:
Shared:
preBuildScripts:
- script: |
if [ "$ENABLE_SWIFTLINT" == YES ] && which swiftlint >/dev/null ; then
swiftlint lint --config "${PROJECT_DIR}/../BuildTools/Configs/.swiftlint.yml"
fi
name: "SwiftLint"