commit
f744bddb63
81 changed files with 1340 additions and 2540 deletions
@ -1,11 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
# |
|
||||||
# Build file to set up and run tests |
|
||||||
|
|
||||||
# Change to repo root |
|
||||||
cd $(dirname $0)/../../.. |
|
||||||
|
|
||||||
# Prepare worker environment to run tests |
|
||||||
source kokoro/macos/prepare_build_macos_rc |
|
||||||
|
|
||||||
./tests.sh objectivec_cocoapods_integration |
|
@ -1,5 +0,0 @@ |
|||||||
# Config file for running tests in Kokoro |
|
||||||
|
|
||||||
# Location of the build script in repository |
|
||||||
build_file: "protobuf/kokoro/macos/objectivec_cocoapods_integration/build.sh" |
|
||||||
timeout_mins: 1440 |
|
@ -1,5 +0,0 @@ |
|||||||
# Config file for running tests in Kokoro |
|
||||||
|
|
||||||
# Location of the build script in repository |
|
||||||
build_file: "protobuf/kokoro/macos/objectivec_cocoapods_integration/build.sh" |
|
||||||
timeout_mins: 1440 |
|
@ -1,290 +0,0 @@ |
|||||||
// !$*UTF8*$! |
|
||||||
{ |
|
||||||
archiveVersion = 1; |
|
||||||
classes = { |
|
||||||
}; |
|
||||||
objectVersion = 46; |
|
||||||
objects = { |
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */ |
|
||||||
F4D5A0AE1CEE2D8F00562D79 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D5A0AD1CEE2D8F00562D79 /* AppDelegate.m */; }; |
|
||||||
F4D5A0B11CEE2D8F00562D79 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D5A0B01CEE2D8F00562D79 /* main.m */; }; |
|
||||||
F4D5A0B31CEE2D8F00562D79 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F4D5A0B21CEE2D8F00562D79 /* Assets.xcassets */; }; |
|
||||||
F4D5A0B61CEE2D8F00562D79 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = F4D5A0B41CEE2D8F00562D79 /* MainMenu.xib */; }; |
|
||||||
/* End PBXBuildFile section */ |
|
||||||
|
|
||||||
/* Begin PBXFileReference section */ |
|
||||||
F4D5A0A91CEE2D8F00562D79 /* OSXCocoaPodsTester.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OSXCocoaPodsTester.app; sourceTree = BUILT_PRODUCTS_DIR; }; |
|
||||||
F4D5A0AC1CEE2D8F00562D79 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; }; |
|
||||||
F4D5A0AD1CEE2D8F00562D79 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; }; |
|
||||||
F4D5A0B01CEE2D8F00562D79 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; |
|
||||||
F4D5A0B21CEE2D8F00562D79 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; |
|
||||||
F4D5A0B51CEE2D8F00562D79 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; }; |
|
||||||
F4D5A0B71CEE2D8F00562D79 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; |
|
||||||
/* End PBXFileReference section */ |
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */ |
|
||||||
F4D5A0A61CEE2D8F00562D79 /* Frameworks */ = { |
|
||||||
isa = PBXFrameworksBuildPhase; |
|
||||||
buildActionMask = 2147483647; |
|
||||||
files = ( |
|
||||||
); |
|
||||||
runOnlyForDeploymentPostprocessing = 0; |
|
||||||
}; |
|
||||||
/* End PBXFrameworksBuildPhase section */ |
|
||||||
|
|
||||||
/* Begin PBXGroup section */ |
|
||||||
F4D5A0A01CEE2D8F00562D79 = { |
|
||||||
isa = PBXGroup; |
|
||||||
children = ( |
|
||||||
F4D5A0AB1CEE2D8F00562D79 /* OSXCocoaPodsTester */, |
|
||||||
F4D5A0AA1CEE2D8F00562D79 /* Products */, |
|
||||||
); |
|
||||||
sourceTree = "<group>"; |
|
||||||
}; |
|
||||||
F4D5A0AA1CEE2D8F00562D79 /* Products */ = { |
|
||||||
isa = PBXGroup; |
|
||||||
children = ( |
|
||||||
F4D5A0A91CEE2D8F00562D79 /* OSXCocoaPodsTester.app */, |
|
||||||
); |
|
||||||
name = Products; |
|
||||||
sourceTree = "<group>"; |
|
||||||
}; |
|
||||||
F4D5A0AB1CEE2D8F00562D79 /* OSXCocoaPodsTester */ = { |
|
||||||
isa = PBXGroup; |
|
||||||
children = ( |
|
||||||
F4D5A0AC1CEE2D8F00562D79 /* AppDelegate.h */, |
|
||||||
F4D5A0AD1CEE2D8F00562D79 /* AppDelegate.m */, |
|
||||||
F4D5A0B21CEE2D8F00562D79 /* Assets.xcassets */, |
|
||||||
F4D5A0B41CEE2D8F00562D79 /* MainMenu.xib */, |
|
||||||
F4D5A0B71CEE2D8F00562D79 /* Info.plist */, |
|
||||||
F4D5A0AF1CEE2D8F00562D79 /* Supporting Files */, |
|
||||||
); |
|
||||||
path = OSXCocoaPodsTester; |
|
||||||
sourceTree = "<group>"; |
|
||||||
}; |
|
||||||
F4D5A0AF1CEE2D8F00562D79 /* Supporting Files */ = { |
|
||||||
isa = PBXGroup; |
|
||||||
children = ( |
|
||||||
F4D5A0B01CEE2D8F00562D79 /* main.m */, |
|
||||||
); |
|
||||||
name = "Supporting Files"; |
|
||||||
sourceTree = "<group>"; |
|
||||||
}; |
|
||||||
/* End PBXGroup section */ |
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */ |
|
||||||
F4D5A0A81CEE2D8F00562D79 /* OSXCocoaPodsTester */ = { |
|
||||||
isa = PBXNativeTarget; |
|
||||||
buildConfigurationList = F4D5A0BA1CEE2D8F00562D79 /* Build configuration list for PBXNativeTarget "OSXCocoaPodsTester" */; |
|
||||||
buildPhases = ( |
|
||||||
F4D5A0A51CEE2D8F00562D79 /* Sources */, |
|
||||||
F4D5A0A61CEE2D8F00562D79 /* Frameworks */, |
|
||||||
F4D5A0A71CEE2D8F00562D79 /* Resources */, |
|
||||||
); |
|
||||||
buildRules = ( |
|
||||||
); |
|
||||||
dependencies = ( |
|
||||||
); |
|
||||||
name = OSXCocoaPodsTester; |
|
||||||
productName = OSXCocoaPodsTester; |
|
||||||
productReference = F4D5A0A91CEE2D8F00562D79 /* OSXCocoaPodsTester.app */; |
|
||||||
productType = "com.apple.product-type.application"; |
|
||||||
}; |
|
||||||
/* End PBXNativeTarget section */ |
|
||||||
|
|
||||||
/* Begin PBXProject section */ |
|
||||||
F4D5A0A11CEE2D8F00562D79 /* Project object */ = { |
|
||||||
isa = PBXProject; |
|
||||||
attributes = { |
|
||||||
LastUpgradeCheck = 0730; |
|
||||||
ORGANIZATIONNAME = Google; |
|
||||||
TargetAttributes = { |
|
||||||
F4D5A0A81CEE2D8F00562D79 = { |
|
||||||
CreatedOnToolsVersion = 7.3.1; |
|
||||||
}; |
|
||||||
}; |
|
||||||
}; |
|
||||||
buildConfigurationList = F4D5A0A41CEE2D8F00562D79 /* Build configuration list for PBXProject "OSXCocoaPodsTester" */; |
|
||||||
compatibilityVersion = "Xcode 3.2"; |
|
||||||
developmentRegion = English; |
|
||||||
hasScannedForEncodings = 0; |
|
||||||
knownRegions = ( |
|
||||||
en, |
|
||||||
Base, |
|
||||||
); |
|
||||||
mainGroup = F4D5A0A01CEE2D8F00562D79; |
|
||||||
productRefGroup = F4D5A0AA1CEE2D8F00562D79 /* Products */; |
|
||||||
projectDirPath = ""; |
|
||||||
projectRoot = ""; |
|
||||||
targets = ( |
|
||||||
F4D5A0A81CEE2D8F00562D79 /* OSXCocoaPodsTester */, |
|
||||||
); |
|
||||||
}; |
|
||||||
/* End PBXProject section */ |
|
||||||
|
|
||||||
/* Begin PBXResourcesBuildPhase section */ |
|
||||||
F4D5A0A71CEE2D8F00562D79 /* Resources */ = { |
|
||||||
isa = PBXResourcesBuildPhase; |
|
||||||
buildActionMask = 2147483647; |
|
||||||
files = ( |
|
||||||
F4D5A0B31CEE2D8F00562D79 /* Assets.xcassets in Resources */, |
|
||||||
F4D5A0B61CEE2D8F00562D79 /* MainMenu.xib in Resources */, |
|
||||||
); |
|
||||||
runOnlyForDeploymentPostprocessing = 0; |
|
||||||
}; |
|
||||||
/* End PBXResourcesBuildPhase section */ |
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */ |
|
||||||
F4D5A0A51CEE2D8F00562D79 /* Sources */ = { |
|
||||||
isa = PBXSourcesBuildPhase; |
|
||||||
buildActionMask = 2147483647; |
|
||||||
files = ( |
|
||||||
F4D5A0B11CEE2D8F00562D79 /* main.m in Sources */, |
|
||||||
F4D5A0AE1CEE2D8F00562D79 /* AppDelegate.m in Sources */, |
|
||||||
); |
|
||||||
runOnlyForDeploymentPostprocessing = 0; |
|
||||||
}; |
|
||||||
/* End PBXSourcesBuildPhase section */ |
|
||||||
|
|
||||||
/* Begin PBXVariantGroup section */ |
|
||||||
F4D5A0B41CEE2D8F00562D79 /* MainMenu.xib */ = { |
|
||||||
isa = PBXVariantGroup; |
|
||||||
children = ( |
|
||||||
F4D5A0B51CEE2D8F00562D79 /* Base */, |
|
||||||
); |
|
||||||
name = MainMenu.xib; |
|
||||||
sourceTree = "<group>"; |
|
||||||
}; |
|
||||||
/* End PBXVariantGroup section */ |
|
||||||
|
|
||||||
/* Begin XCBuildConfiguration section */ |
|
||||||
F4D5A0B81CEE2D8F00562D79 /* Debug */ = { |
|
||||||
isa = XCBuildConfiguration; |
|
||||||
buildSettings = { |
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO; |
|
||||||
CLANG_ANALYZER_NONNULL = YES; |
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; |
|
||||||
CLANG_CXX_LIBRARY = "libc++"; |
|
||||||
CLANG_ENABLE_MODULES = YES; |
|
||||||
CLANG_ENABLE_OBJC_ARC = YES; |
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES; |
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES; |
|
||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; |
|
||||||
CLANG_WARN_EMPTY_BODY = YES; |
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES; |
|
||||||
CLANG_WARN_INT_CONVERSION = YES; |
|
||||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; |
|
||||||
CLANG_WARN_UNREACHABLE_CODE = YES; |
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; |
|
||||||
CODE_SIGN_IDENTITY = "-"; |
|
||||||
COPY_PHASE_STRIP = NO; |
|
||||||
DEBUG_INFORMATION_FORMAT = dwarf; |
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES; |
|
||||||
ENABLE_TESTABILITY = YES; |
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99; |
|
||||||
GCC_DYNAMIC_NO_PIC = NO; |
|
||||||
GCC_NO_COMMON_BLOCKS = YES; |
|
||||||
GCC_OPTIMIZATION_LEVEL = 0; |
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = ( |
|
||||||
"DEBUG=1", |
|
||||||
"$(inherited)", |
|
||||||
); |
|
||||||
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; |
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.11; |
|
||||||
MTL_ENABLE_DEBUG_INFO = YES; |
|
||||||
ONLY_ACTIVE_ARCH = YES; |
|
||||||
SDKROOT = macosx; |
|
||||||
}; |
|
||||||
name = Debug; |
|
||||||
}; |
|
||||||
F4D5A0B91CEE2D8F00562D79 /* Release */ = { |
|
||||||
isa = XCBuildConfiguration; |
|
||||||
buildSettings = { |
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO; |
|
||||||
CLANG_ANALYZER_NONNULL = YES; |
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; |
|
||||||
CLANG_CXX_LIBRARY = "libc++"; |
|
||||||
CLANG_ENABLE_MODULES = YES; |
|
||||||
CLANG_ENABLE_OBJC_ARC = YES; |
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES; |
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES; |
|
||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; |
|
||||||
CLANG_WARN_EMPTY_BODY = YES; |
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES; |
|
||||||
CLANG_WARN_INT_CONVERSION = YES; |
|
||||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; |
|
||||||
CLANG_WARN_UNREACHABLE_CODE = YES; |
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; |
|
||||||
CODE_SIGN_IDENTITY = "-"; |
|
||||||
COPY_PHASE_STRIP = NO; |
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; |
|
||||||
ENABLE_NS_ASSERTIONS = NO; |
|
||||||
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; |
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.11; |
|
||||||
MTL_ENABLE_DEBUG_INFO = NO; |
|
||||||
SDKROOT = macosx; |
|
||||||
}; |
|
||||||
name = Release; |
|
||||||
}; |
|
||||||
F4D5A0BB1CEE2D8F00562D79 /* Debug */ = { |
|
||||||
isa = XCBuildConfiguration; |
|
||||||
buildSettings = { |
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
|
||||||
COMBINE_HIDPI_IMAGES = YES; |
|
||||||
INFOPLIST_FILE = OSXCocoaPodsTester/Info.plist; |
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; |
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.google.OSXCocoaPodsTester; |
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)"; |
|
||||||
}; |
|
||||||
name = Debug; |
|
||||||
}; |
|
||||||
F4D5A0BC1CEE2D8F00562D79 /* Release */ = { |
|
||||||
isa = XCBuildConfiguration; |
|
||||||
buildSettings = { |
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
|
||||||
COMBINE_HIDPI_IMAGES = YES; |
|
||||||
INFOPLIST_FILE = OSXCocoaPodsTester/Info.plist; |
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; |
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.google.OSXCocoaPodsTester; |
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)"; |
|
||||||
}; |
|
||||||
name = Release; |
|
||||||
}; |
|
||||||
/* End XCBuildConfiguration section */ |
|
||||||
|
|
||||||
/* Begin XCConfigurationList section */ |
|
||||||
F4D5A0A41CEE2D8F00562D79 /* Build configuration list for PBXProject "OSXCocoaPodsTester" */ = { |
|
||||||
isa = XCConfigurationList; |
|
||||||
buildConfigurations = ( |
|
||||||
F4D5A0B81CEE2D8F00562D79 /* Debug */, |
|
||||||
F4D5A0B91CEE2D8F00562D79 /* Release */, |
|
||||||
); |
|
||||||
defaultConfigurationIsVisible = 0; |
|
||||||
defaultConfigurationName = Release; |
|
||||||
}; |
|
||||||
F4D5A0BA1CEE2D8F00562D79 /* Build configuration list for PBXNativeTarget "OSXCocoaPodsTester" */ = { |
|
||||||
isa = XCConfigurationList; |
|
||||||
buildConfigurations = ( |
|
||||||
F4D5A0BB1CEE2D8F00562D79 /* Debug */, |
|
||||||
F4D5A0BC1CEE2D8F00562D79 /* Release */, |
|
||||||
); |
|
||||||
defaultConfigurationIsVisible = 0; |
|
||||||
}; |
|
||||||
/* End XCConfigurationList section */ |
|
||||||
}; |
|
||||||
rootObject = F4D5A0A11CEE2D8F00562D79 /* Project object */; |
|
||||||
} |
|
@ -1,7 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="UTF-8"?> |
|
||||||
<Workspace |
|
||||||
version = "1.0"> |
|
||||||
<FileRef |
|
||||||
location = "self:OSXCocoaPodsTester.xcodeproj"> |
|
||||||
</FileRef> |
|
||||||
</Workspace> |
|
@ -1,91 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="UTF-8"?> |
|
||||||
<Scheme |
|
||||||
LastUpgradeVersion = "0730" |
|
||||||
version = "1.3"> |
|
||||||
<BuildAction |
|
||||||
parallelizeBuildables = "YES" |
|
||||||
buildImplicitDependencies = "YES"> |
|
||||||
<BuildActionEntries> |
|
||||||
<BuildActionEntry |
|
||||||
buildForTesting = "YES" |
|
||||||
buildForRunning = "YES" |
|
||||||
buildForProfiling = "YES" |
|
||||||
buildForArchiving = "YES" |
|
||||||
buildForAnalyzing = "YES"> |
|
||||||
<BuildableReference |
|
||||||
BuildableIdentifier = "primary" |
|
||||||
BlueprintIdentifier = "F4D5A0A81CEE2D8F00562D79" |
|
||||||
BuildableName = "OSXCocoaPodsTester.app" |
|
||||||
BlueprintName = "OSXCocoaPodsTester" |
|
||||||
ReferencedContainer = "container:OSXCocoaPodsTester.xcodeproj"> |
|
||||||
</BuildableReference> |
|
||||||
</BuildActionEntry> |
|
||||||
</BuildActionEntries> |
|
||||||
</BuildAction> |
|
||||||
<TestAction |
|
||||||
buildConfiguration = "Debug" |
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" |
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" |
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"> |
|
||||||
<Testables> |
|
||||||
</Testables> |
|
||||||
<MacroExpansion> |
|
||||||
<BuildableReference |
|
||||||
BuildableIdentifier = "primary" |
|
||||||
BlueprintIdentifier = "F4D5A0A81CEE2D8F00562D79" |
|
||||||
BuildableName = "OSXCocoaPodsTester.app" |
|
||||||
BlueprintName = "OSXCocoaPodsTester" |
|
||||||
ReferencedContainer = "container:OSXCocoaPodsTester.xcodeproj"> |
|
||||||
</BuildableReference> |
|
||||||
</MacroExpansion> |
|
||||||
<AdditionalOptions> |
|
||||||
</AdditionalOptions> |
|
||||||
</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"> |
|
||||||
<BuildableProductRunnable |
|
||||||
runnableDebuggingMode = "0"> |
|
||||||
<BuildableReference |
|
||||||
BuildableIdentifier = "primary" |
|
||||||
BlueprintIdentifier = "F4D5A0A81CEE2D8F00562D79" |
|
||||||
BuildableName = "OSXCocoaPodsTester.app" |
|
||||||
BlueprintName = "OSXCocoaPodsTester" |
|
||||||
ReferencedContainer = "container:OSXCocoaPodsTester.xcodeproj"> |
|
||||||
</BuildableReference> |
|
||||||
</BuildableProductRunnable> |
|
||||||
<AdditionalOptions> |
|
||||||
</AdditionalOptions> |
|
||||||
</LaunchAction> |
|
||||||
<ProfileAction |
|
||||||
buildConfiguration = "Release" |
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES" |
|
||||||
savedToolIdentifier = "" |
|
||||||
useCustomWorkingDirectory = "NO" |
|
||||||
debugDocumentVersioning = "YES"> |
|
||||||
<BuildableProductRunnable |
|
||||||
runnableDebuggingMode = "0"> |
|
||||||
<BuildableReference |
|
||||||
BuildableIdentifier = "primary" |
|
||||||
BlueprintIdentifier = "F4D5A0A81CEE2D8F00562D79" |
|
||||||
BuildableName = "OSXCocoaPodsTester.app" |
|
||||||
BlueprintName = "OSXCocoaPodsTester" |
|
||||||
ReferencedContainer = "container:OSXCocoaPodsTester.xcodeproj"> |
|
||||||
</BuildableReference> |
|
||||||
</BuildableProductRunnable> |
|
||||||
</ProfileAction> |
|
||||||
<AnalyzeAction |
|
||||||
buildConfiguration = "Debug"> |
|
||||||
</AnalyzeAction> |
|
||||||
<ArchiveAction |
|
||||||
buildConfiguration = "Release" |
|
||||||
revealArchiveInOrganizer = "YES"> |
|
||||||
</ArchiveAction> |
|
||||||
</Scheme> |
|
@ -1,37 +0,0 @@ |
|||||||
// Protocol Buffers - Google's data interchange format
|
|
||||||
// Copyright 2016 Google Inc. All rights reserved.
|
|
||||||
// https://developers.google.com/protocol-buffers/
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without
|
|
||||||
// modification, are permitted provided that the following conditions are
|
|
||||||
// met:
|
|
||||||
//
|
|
||||||
// * Redistributions of source code must retain the above copyright
|
|
||||||
// notice, this list of conditions and the following disclaimer.
|
|
||||||
// * Redistributions in binary form must reproduce the above
|
|
||||||
// copyright notice, this list of conditions and the following disclaimer
|
|
||||||
// in the documentation and/or other materials provided with the
|
|
||||||
// distribution.
|
|
||||||
// * Neither the name of Google Inc. nor the names of its
|
|
||||||
// contributors may be used to endorse or promote products derived from
|
|
||||||
// this software without specific prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
||||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
||||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
||||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
#import <Cocoa/Cocoa.h> |
|
||||||
|
|
||||||
@interface AppDelegate : NSObject <NSApplicationDelegate> |
|
||||||
|
|
||||||
|
|
||||||
@end |
|
||||||
|
|
@ -1,48 +0,0 @@ |
|||||||
// Protocol Buffers - Google's data interchange format |
|
||||||
// Copyright 2016 Google Inc. All rights reserved. |
|
||||||
// https://developers.google.com/protocol-buffers/ |
|
||||||
// |
|
||||||
// Redistribution and use in source and binary forms, with or without |
|
||||||
// modification, are permitted provided that the following conditions are |
|
||||||
// met: |
|
||||||
// |
|
||||||
// * Redistributions of source code must retain the above copyright |
|
||||||
// notice, this list of conditions and the following disclaimer. |
|
||||||
// * Redistributions in binary form must reproduce the above |
|
||||||
// copyright notice, this list of conditions and the following disclaimer |
|
||||||
// in the documentation and/or other materials provided with the |
|
||||||
// distribution. |
|
||||||
// * Neither the name of Google Inc. nor the names of its |
|
||||||
// contributors may be used to endorse or promote products derived from |
|
||||||
// this software without specific prior written permission. |
|
||||||
// |
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
|
||||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
|
||||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
|
||||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
|
||||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
|
||||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
|
||||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
|
||||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
||||||
|
|
||||||
#import "AppDelegate.h" |
|
||||||
|
|
||||||
@interface AppDelegate () |
|
||||||
|
|
||||||
@property (weak) IBOutlet NSWindow *window; |
|
||||||
@end |
|
||||||
|
|
||||||
@implementation AppDelegate |
|
||||||
|
|
||||||
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification { |
|
||||||
// Insert code here to initialize your application |
|
||||||
} |
|
||||||
|
|
||||||
- (void)applicationWillTerminate:(NSNotification *)aNotification { |
|
||||||
// Insert code here to tear down your application |
|
||||||
} |
|
||||||
|
|
||||||
@end |
|
@ -1,58 +0,0 @@ |
|||||||
{ |
|
||||||
"images" : [ |
|
||||||
{ |
|
||||||
"idiom" : "mac", |
|
||||||
"size" : "16x16", |
|
||||||
"scale" : "1x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "mac", |
|
||||||
"size" : "16x16", |
|
||||||
"scale" : "2x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "mac", |
|
||||||
"size" : "32x32", |
|
||||||
"scale" : "1x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "mac", |
|
||||||
"size" : "32x32", |
|
||||||
"scale" : "2x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "mac", |
|
||||||
"size" : "128x128", |
|
||||||
"scale" : "1x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "mac", |
|
||||||
"size" : "128x128", |
|
||||||
"scale" : "2x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "mac", |
|
||||||
"size" : "256x256", |
|
||||||
"scale" : "1x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "mac", |
|
||||||
"size" : "256x256", |
|
||||||
"scale" : "2x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "mac", |
|
||||||
"size" : "512x512", |
|
||||||
"scale" : "1x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "mac", |
|
||||||
"size" : "512x512", |
|
||||||
"scale" : "2x" |
|
||||||
} |
|
||||||
], |
|
||||||
"info" : { |
|
||||||
"version" : 1, |
|
||||||
"author" : "xcode" |
|
||||||
} |
|
||||||
} |
|
@ -1,680 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="6233" systemVersion="14A329f" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct"> |
|
||||||
<dependencies> |
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="6233"/> |
|
||||||
</dependencies> |
|
||||||
<objects> |
|
||||||
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication"> |
|
||||||
<connections> |
|
||||||
<outlet property="delegate" destination="Voe-Tx-rLC" id="GzC-gU-4Uq"/> |
|
||||||
</connections> |
|
||||||
</customObject> |
|
||||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> |
|
||||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/> |
|
||||||
<customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModuleProvider=""> |
|
||||||
<connections> |
|
||||||
<outlet property="window" destination="QvC-M9-y7g" id="gIp-Ho-8D9"/> |
|
||||||
</connections> |
|
||||||
</customObject> |
|
||||||
<customObject id="YLy-65-1bz" customClass="NSFontManager"/> |
|
||||||
<menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6"> |
|
||||||
<items> |
|
||||||
<menuItem title="OSXCocoaPodsTester" id="1Xt-HY-uBw"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="OSXCocoaPodsTester" systemMenu="apple" id="uQy-DD-JDr"> |
|
||||||
<items> |
|
||||||
<menuItem title="About OSXCocoaPodsTester" id="5kV-Vb-QxS"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="orderFrontStandardAboutPanel:" target="-1" id="Exp-CZ-Vem"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/> |
|
||||||
<menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"/> |
|
||||||
<menuItem isSeparatorItem="YES" id="wFC-TO-SCJ"/> |
|
||||||
<menuItem title="Services" id="NMo-om-nkz"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="Services" systemMenu="services" id="hz9-B4-Xy5"/> |
|
||||||
</menuItem> |
|
||||||
<menuItem isSeparatorItem="YES" id="4je-JR-u6R"/> |
|
||||||
<menuItem title="Hide OSXCocoaPodsTester" keyEquivalent="h" id="Olw-nP-bQN"> |
|
||||||
<connections> |
|
||||||
<action selector="hide:" target="-1" id="PnN-Uc-m68"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Hide Others" keyEquivalent="h" id="Vdr-fp-XzO"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/> |
|
||||||
<connections> |
|
||||||
<action selector="hideOtherApplications:" target="-1" id="VT4-aY-XCT"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Show All" id="Kd2-mp-pUS"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="unhideAllApplications:" target="-1" id="Dhg-Le-xox"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem isSeparatorItem="YES" id="kCx-OE-vgT"/> |
|
||||||
<menuItem title="Quit OSXCocoaPodsTester" keyEquivalent="q" id="4sb-4s-VLi"> |
|
||||||
<connections> |
|
||||||
<action selector="terminate:" target="-1" id="Te7-pn-YzF"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="File" id="dMs-cI-mzQ"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="File" id="bib-Uj-vzu"> |
|
||||||
<items> |
|
||||||
<menuItem title="New" keyEquivalent="n" id="Was-JA-tGl"> |
|
||||||
<connections> |
|
||||||
<action selector="newDocument:" target="-1" id="4Si-XN-c54"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Open…" keyEquivalent="o" id="IAo-SY-fd9"> |
|
||||||
<connections> |
|
||||||
<action selector="openDocument:" target="-1" id="bVn-NM-KNZ"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Open Recent" id="tXI-mr-wws"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="Open Recent" systemMenu="recentDocuments" id="oas-Oc-fiZ"> |
|
||||||
<items> |
|
||||||
<menuItem title="Clear Menu" id="vNY-rz-j42"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="clearRecentDocuments:" target="-1" id="Daa-9d-B3U"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
<menuItem isSeparatorItem="YES" id="m54-Is-iLE"/> |
|
||||||
<menuItem title="Close" keyEquivalent="w" id="DVo-aG-piG"> |
|
||||||
<connections> |
|
||||||
<action selector="performClose:" target="-1" id="HmO-Ls-i7Q"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Save…" keyEquivalent="s" id="pxx-59-PXV"> |
|
||||||
<connections> |
|
||||||
<action selector="saveDocument:" target="-1" id="teZ-XB-qJY"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Save As…" keyEquivalent="S" id="Bw7-FT-i3A"> |
|
||||||
<connections> |
|
||||||
<action selector="saveDocumentAs:" target="-1" id="mDf-zr-I0C"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Revert to Saved" id="KaW-ft-85H"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="revertDocumentToSaved:" target="-1" id="iJ3-Pv-kwq"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem isSeparatorItem="YES" id="aJh-i4-bef"/> |
|
||||||
<menuItem title="Page Setup…" keyEquivalent="P" id="qIS-W8-SiK"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/> |
|
||||||
<connections> |
|
||||||
<action selector="runPageLayout:" target="-1" id="Din-rz-gC5"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Print…" keyEquivalent="p" id="aTl-1u-JFS"> |
|
||||||
<connections> |
|
||||||
<action selector="print:" target="-1" id="qaZ-4w-aoO"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Edit" id="5QF-Oa-p0T"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="Edit" id="W48-6f-4Dl"> |
|
||||||
<items> |
|
||||||
<menuItem title="Undo" keyEquivalent="z" id="dRJ-4n-Yzg"> |
|
||||||
<connections> |
|
||||||
<action selector="undo:" target="-1" id="M6e-cu-g7V"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Redo" keyEquivalent="Z" id="6dh-zS-Vam"> |
|
||||||
<connections> |
|
||||||
<action selector="redo:" target="-1" id="oIA-Rs-6OD"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem isSeparatorItem="YES" id="WRV-NI-Exz"/> |
|
||||||
<menuItem title="Cut" keyEquivalent="x" id="uRl-iY-unG"> |
|
||||||
<connections> |
|
||||||
<action selector="cut:" target="-1" id="YJe-68-I9s"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Copy" keyEquivalent="c" id="x3v-GG-iWU"> |
|
||||||
<connections> |
|
||||||
<action selector="copy:" target="-1" id="G1f-GL-Joy"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Paste" keyEquivalent="v" id="gVA-U4-sdL"> |
|
||||||
<connections> |
|
||||||
<action selector="paste:" target="-1" id="UvS-8e-Qdg"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Paste and Match Style" keyEquivalent="V" id="WeT-3V-zwk"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/> |
|
||||||
<connections> |
|
||||||
<action selector="pasteAsPlainText:" target="-1" id="cEh-KX-wJQ"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Delete" id="pa3-QI-u2k"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="delete:" target="-1" id="0Mk-Ml-PaM"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Select All" keyEquivalent="a" id="Ruw-6m-B2m"> |
|
||||||
<connections> |
|
||||||
<action selector="selectAll:" target="-1" id="VNm-Mi-diN"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem isSeparatorItem="YES" id="uyl-h8-XO2"/> |
|
||||||
<menuItem title="Find" id="4EN-yA-p0u"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="Find" id="1b7-l0-nxx"> |
|
||||||
<items> |
|
||||||
<menuItem title="Find…" tag="1" keyEquivalent="f" id="Xz5-n4-O0W"> |
|
||||||
<connections> |
|
||||||
<action selector="performFindPanelAction:" target="-1" id="cD7-Qs-BN4"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="YEy-JH-Tfz"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/> |
|
||||||
<connections> |
|
||||||
<action selector="performFindPanelAction:" target="-1" id="WD3-Gg-5AJ"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Find Next" tag="2" keyEquivalent="g" id="q09-fT-Sye"> |
|
||||||
<connections> |
|
||||||
<action selector="performFindPanelAction:" target="-1" id="NDo-RZ-v9R"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Find Previous" tag="3" keyEquivalent="G" id="OwM-mh-QMV"> |
|
||||||
<connections> |
|
||||||
<action selector="performFindPanelAction:" target="-1" id="HOh-sY-3ay"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="buJ-ug-pKt"> |
|
||||||
<connections> |
|
||||||
<action selector="performFindPanelAction:" target="-1" id="U76-nv-p5D"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Jump to Selection" keyEquivalent="j" id="S0p-oC-mLd"> |
|
||||||
<connections> |
|
||||||
<action selector="centerSelectionInVisibleArea:" target="-1" id="IOG-6D-g5B"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Spelling and Grammar" id="Dv1-io-Yv7"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="Spelling" id="3IN-sU-3Bg"> |
|
||||||
<items> |
|
||||||
<menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="HFo-cy-zxI"> |
|
||||||
<connections> |
|
||||||
<action selector="showGuessPanel:" target="-1" id="vFj-Ks-hy3"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Check Document Now" keyEquivalent=";" id="hz2-CU-CR7"> |
|
||||||
<connections> |
|
||||||
<action selector="checkSpelling:" target="-1" id="fz7-VC-reM"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem isSeparatorItem="YES" id="bNw-od-mp5"/> |
|
||||||
<menuItem title="Check Spelling While Typing" id="rbD-Rh-wIN"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="toggleContinuousSpellChecking:" target="-1" id="7w6-Qz-0kB"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Check Grammar With Spelling" id="mK6-2p-4JG"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="toggleGrammarChecking:" target="-1" id="muD-Qn-j4w"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Correct Spelling Automatically" id="78Y-hA-62v"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="toggleAutomaticSpellingCorrection:" target="-1" id="2lM-Qi-WAP"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Substitutions" id="9ic-FL-obx"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="Substitutions" id="FeM-D8-WVr"> |
|
||||||
<items> |
|
||||||
<menuItem title="Show Substitutions" id="z6F-FW-3nz"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="orderFrontSubstitutionsPanel:" target="-1" id="oku-mr-iSq"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem isSeparatorItem="YES" id="gPx-C9-uUO"/> |
|
||||||
<menuItem title="Smart Copy/Paste" id="9yt-4B-nSM"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="toggleSmartInsertDelete:" target="-1" id="3IJ-Se-DZD"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Smart Quotes" id="hQb-2v-fYv"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="toggleAutomaticQuoteSubstitution:" target="-1" id="ptq-xd-QOA"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Smart Dashes" id="rgM-f4-ycn"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="toggleAutomaticDashSubstitution:" target="-1" id="oCt-pO-9gS"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Smart Links" id="cwL-P1-jid"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="toggleAutomaticLinkDetection:" target="-1" id="Gip-E3-Fov"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Data Detectors" id="tRr-pd-1PS"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="toggleAutomaticDataDetection:" target="-1" id="R1I-Nq-Kbl"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Text Replacement" id="HFQ-gK-NFA"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="toggleAutomaticTextReplacement:" target="-1" id="DvP-Fe-Py6"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Transformations" id="2oI-Rn-ZJC"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="Transformations" id="c8a-y6-VQd"> |
|
||||||
<items> |
|
||||||
<menuItem title="Make Upper Case" id="vmV-6d-7jI"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="uppercaseWord:" target="-1" id="sPh-Tk-edu"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Make Lower Case" id="d9M-CD-aMd"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="lowercaseWord:" target="-1" id="iUZ-b5-hil"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Capitalize" id="UEZ-Bs-lqG"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="capitalizeWord:" target="-1" id="26H-TL-nsh"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Speech" id="xrE-MZ-jX0"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="Speech" id="3rS-ZA-NoH"> |
|
||||||
<items> |
|
||||||
<menuItem title="Start Speaking" id="Ynk-f8-cLZ"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="startSpeaking:" target="-1" id="654-Ng-kyl"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Stop Speaking" id="Oyz-dy-DGm"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="stopSpeaking:" target="-1" id="dX8-6p-jy9"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Format" id="jxT-CU-nIS"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="Format" id="GEO-Iw-cKr"> |
|
||||||
<items> |
|
||||||
<menuItem title="Font" id="Gi5-1S-RQB"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="Font" systemMenu="font" id="aXa-aM-Jaq"> |
|
||||||
<items> |
|
||||||
<menuItem title="Show Fonts" keyEquivalent="t" id="Q5e-8K-NDq"> |
|
||||||
<connections> |
|
||||||
<action selector="orderFrontFontPanel:" target="YLy-65-1bz" id="WHr-nq-2xA"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Bold" tag="2" keyEquivalent="b" id="GB9-OM-e27"> |
|
||||||
<connections> |
|
||||||
<action selector="addFontTrait:" target="YLy-65-1bz" id="hqk-hr-sYV"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Italic" tag="1" keyEquivalent="i" id="Vjx-xi-njq"> |
|
||||||
<connections> |
|
||||||
<action selector="addFontTrait:" target="YLy-65-1bz" id="IHV-OB-c03"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Underline" keyEquivalent="u" id="WRG-CD-K1S"> |
|
||||||
<connections> |
|
||||||
<action selector="underline:" target="-1" id="FYS-2b-JAY"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem isSeparatorItem="YES" id="5gT-KC-WSO"/> |
|
||||||
<menuItem title="Bigger" tag="3" keyEquivalent="+" id="Ptp-SP-VEL"> |
|
||||||
<connections> |
|
||||||
<action selector="modifyFont:" target="YLy-65-1bz" id="Uc7-di-UnL"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Smaller" tag="4" keyEquivalent="-" id="i1d-Er-qST"> |
|
||||||
<connections> |
|
||||||
<action selector="modifyFont:" target="YLy-65-1bz" id="HcX-Lf-eNd"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem isSeparatorItem="YES" id="kx3-Dk-x3B"/> |
|
||||||
<menuItem title="Kern" id="jBQ-r6-VK2"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="Kern" id="tlD-Oa-oAM"> |
|
||||||
<items> |
|
||||||
<menuItem title="Use Default" id="GUa-eO-cwY"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="useStandardKerning:" target="-1" id="6dk-9l-Ckg"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Use None" id="cDB-IK-hbR"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="turnOffKerning:" target="-1" id="U8a-gz-Maa"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Tighten" id="46P-cB-AYj"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="tightenKerning:" target="-1" id="hr7-Nz-8ro"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Loosen" id="ogc-rX-tC1"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="loosenKerning:" target="-1" id="8i4-f9-FKE"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Ligatures" id="o6e-r0-MWq"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="Ligatures" id="w0m-vy-SC9"> |
|
||||||
<items> |
|
||||||
<menuItem title="Use Default" id="agt-UL-0e3"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="useStandardLigatures:" target="-1" id="7uR-wd-Dx6"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Use None" id="J7y-lM-qPV"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="turnOffLigatures:" target="-1" id="iX2-gA-Ilz"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Use All" id="xQD-1f-W4t"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="useAllLigatures:" target="-1" id="KcB-kA-TuK"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Baseline" id="OaQ-X3-Vso"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="Baseline" id="ijk-EB-dga"> |
|
||||||
<items> |
|
||||||
<menuItem title="Use Default" id="3Om-Ey-2VK"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="unscript:" target="-1" id="0vZ-95-Ywn"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Superscript" id="Rqc-34-cIF"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="superscript:" target="-1" id="3qV-fo-wpU"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Subscript" id="I0S-gh-46l"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="subscript:" target="-1" id="Q6W-4W-IGz"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Raise" id="2h7-ER-AoG"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="raiseBaseline:" target="-1" id="4sk-31-7Q9"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Lower" id="1tx-W0-xDw"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="lowerBaseline:" target="-1" id="OF1-bc-KW4"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
<menuItem isSeparatorItem="YES" id="Ndw-q3-faq"/> |
|
||||||
<menuItem title="Show Colors" keyEquivalent="C" id="bgn-CT-cEk"> |
|
||||||
<connections> |
|
||||||
<action selector="orderFrontColorPanel:" target="-1" id="mSX-Xz-DV3"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem isSeparatorItem="YES" id="iMs-zA-UFJ"/> |
|
||||||
<menuItem title="Copy Style" keyEquivalent="c" id="5Vv-lz-BsD"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/> |
|
||||||
<connections> |
|
||||||
<action selector="copyFont:" target="-1" id="GJO-xA-L4q"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Paste Style" keyEquivalent="v" id="vKC-jM-MkH"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/> |
|
||||||
<connections> |
|
||||||
<action selector="pasteFont:" target="-1" id="JfD-CL-leO"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Text" id="Fal-I4-PZk"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="Text" id="d9c-me-L2H"> |
|
||||||
<items> |
|
||||||
<menuItem title="Align Left" keyEquivalent="{" id="ZM1-6Q-yy1"> |
|
||||||
<connections> |
|
||||||
<action selector="alignLeft:" target="-1" id="zUv-R1-uAa"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Center" keyEquivalent="|" id="VIY-Ag-zcb"> |
|
||||||
<connections> |
|
||||||
<action selector="alignCenter:" target="-1" id="spX-mk-kcS"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Justify" id="J5U-5w-g23"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="alignJustified:" target="-1" id="ljL-7U-jND"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Align Right" keyEquivalent="}" id="wb2-vD-lq4"> |
|
||||||
<connections> |
|
||||||
<action selector="alignRight:" target="-1" id="r48-bG-YeY"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem isSeparatorItem="YES" id="4s2-GY-VfK"/> |
|
||||||
<menuItem title="Writing Direction" id="H1b-Si-o9J"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="Writing Direction" id="8mr-sm-Yjd"> |
|
||||||
<items> |
|
||||||
<menuItem title="Paragraph" enabled="NO" id="ZvO-Gk-QUH"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
</menuItem> |
|
||||||
<menuItem id="YGs-j5-SAR"> |
|
||||||
<string key="title"> Default</string> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="makeBaseWritingDirectionNatural:" target="-1" id="qtV-5e-UBP"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem id="Lbh-J2-qVU"> |
|
||||||
<string key="title"> Left to Right</string> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="makeBaseWritingDirectionLeftToRight:" target="-1" id="S0X-9S-QSf"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem id="jFq-tB-4Kx"> |
|
||||||
<string key="title"> Right to Left</string> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="makeBaseWritingDirectionRightToLeft:" target="-1" id="5fk-qB-AqJ"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem isSeparatorItem="YES" id="swp-gr-a21"/> |
|
||||||
<menuItem title="Selection" enabled="NO" id="cqv-fj-IhA"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
</menuItem> |
|
||||||
<menuItem id="Nop-cj-93Q"> |
|
||||||
<string key="title"> Default</string> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="makeTextWritingDirectionNatural:" target="-1" id="lPI-Se-ZHp"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem id="BgM-ve-c93"> |
|
||||||
<string key="title"> Left to Right</string> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="makeTextWritingDirectionLeftToRight:" target="-1" id="caW-Bv-w94"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem id="RB4-Sm-HuC"> |
|
||||||
<string key="title"> Right to Left</string> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="makeTextWritingDirectionRightToLeft:" target="-1" id="EXD-6r-ZUu"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
<menuItem isSeparatorItem="YES" id="fKy-g9-1gm"/> |
|
||||||
<menuItem title="Show Ruler" id="vLm-3I-IUL"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="toggleRuler:" target="-1" id="FOx-HJ-KwY"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Copy Ruler" keyEquivalent="c" id="MkV-Pr-PK5"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/> |
|
||||||
<connections> |
|
||||||
<action selector="copyRuler:" target="-1" id="71i-fW-3W2"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Paste Ruler" keyEquivalent="v" id="LVM-kO-fVI"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/> |
|
||||||
<connections> |
|
||||||
<action selector="pasteRuler:" target="-1" id="cSh-wd-qM2"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="View" id="H8h-7b-M4v"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="View" id="HyV-fh-RgO"> |
|
||||||
<items> |
|
||||||
<menuItem title="Show Toolbar" keyEquivalent="t" id="snW-S8-Cw5"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/> |
|
||||||
<connections> |
|
||||||
<action selector="toggleToolbarShown:" target="-1" id="BXY-wc-z0C"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Customize Toolbar…" id="1UK-8n-QPP"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="runToolbarCustomizationPalette:" target="-1" id="pQI-g3-MTW"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Window" id="aUF-d1-5bR"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="Window" systemMenu="window" id="Td7-aD-5lo"> |
|
||||||
<items> |
|
||||||
<menuItem title="Minimize" keyEquivalent="m" id="OY7-WF-poV"> |
|
||||||
<connections> |
|
||||||
<action selector="performMiniaturize:" target="-1" id="VwT-WD-YPe"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Zoom" id="R4o-n2-Eq4"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="performZoom:" target="-1" id="DIl-cC-cCs"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
<menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/> |
|
||||||
<menuItem title="Bring All to Front" id="LE2-aR-0XJ"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<connections> |
|
||||||
<action selector="arrangeInFront:" target="-1" id="DRN-fu-gQh"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
<menuItem title="Help" id="wpr-3q-Mcd"> |
|
||||||
<modifierMask key="keyEquivalentModifierMask"/> |
|
||||||
<menu key="submenu" title="Help" systemMenu="help" id="F2S-fz-NVQ"> |
|
||||||
<items> |
|
||||||
<menuItem title="OSXCocoaPodsTester Help" keyEquivalent="?" id="FKE-Sm-Kum"> |
|
||||||
<connections> |
|
||||||
<action selector="showHelp:" target="-1" id="y7X-2Q-9no"/> |
|
||||||
</connections> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
</menuItem> |
|
||||||
</items> |
|
||||||
</menu> |
|
||||||
<window title="OSXCocoaPodsTester" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g"> |
|
||||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/> |
|
||||||
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/> |
|
||||||
<rect key="contentRect" x="335" y="390" width="480" height="360"/> |
|
||||||
<rect key="screenRect" x="0.0" y="0.0" width="1920" height="1177"/> |
|
||||||
<view key="contentView" id="EiT-Mj-1SZ"> |
|
||||||
<rect key="frame" x="0.0" y="0.0" width="480" height="360"/> |
|
||||||
<autoresizingMask key="autoresizingMask"/> |
|
||||||
</view> |
|
||||||
</window> |
|
||||||
</objects> |
|
||||||
</document> |
|
@ -1,34 +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>CFBundleDevelopmentRegion</key> |
|
||||||
<string>en</string> |
|
||||||
<key>CFBundleExecutable</key> |
|
||||||
<string>$(EXECUTABLE_NAME)</string> |
|
||||||
<key>CFBundleIconFile</key> |
|
||||||
<string></string> |
|
||||||
<key>CFBundleIdentifier</key> |
|
||||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> |
|
||||||
<key>CFBundleInfoDictionaryVersion</key> |
|
||||||
<string>6.0</string> |
|
||||||
<key>CFBundleName</key> |
|
||||||
<string>$(PRODUCT_NAME)</string> |
|
||||||
<key>CFBundlePackageType</key> |
|
||||||
<string>APPL</string> |
|
||||||
<key>CFBundleShortVersionString</key> |
|
||||||
<string>1.0</string> |
|
||||||
<key>CFBundleSignature</key> |
|
||||||
<string>????</string> |
|
||||||
<key>CFBundleVersion</key> |
|
||||||
<string>1</string> |
|
||||||
<key>LSMinimumSystemVersion</key> |
|
||||||
<string>$(MACOSX_DEPLOYMENT_TARGET)</string> |
|
||||||
<key>NSHumanReadableCopyright</key> |
|
||||||
<string>Copyright © 2016 Google. All rights reserved.</string> |
|
||||||
<key>NSMainNibFile</key> |
|
||||||
<string>MainMenu</string> |
|
||||||
<key>NSPrincipalClass</key> |
|
||||||
<string>NSApplication</string> |
|
||||||
</dict> |
|
||||||
</plist> |
|
@ -1,35 +0,0 @@ |
|||||||
// Protocol Buffers - Google's data interchange format |
|
||||||
// Copyright 2016 Google Inc. All rights reserved. |
|
||||||
// https://developers.google.com/protocol-buffers/ |
|
||||||
// |
|
||||||
// Redistribution and use in source and binary forms, with or without |
|
||||||
// modification, are permitted provided that the following conditions are |
|
||||||
// met: |
|
||||||
// |
|
||||||
// * Redistributions of source code must retain the above copyright |
|
||||||
// notice, this list of conditions and the following disclaimer. |
|
||||||
// * Redistributions in binary form must reproduce the above |
|
||||||
// copyright notice, this list of conditions and the following disclaimer |
|
||||||
// in the documentation and/or other materials provided with the |
|
||||||
// distribution. |
|
||||||
// * Neither the name of Google Inc. nor the names of its |
|
||||||
// contributors may be used to endorse or promote products derived from |
|
||||||
// this software without specific prior written permission. |
|
||||||
// |
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
|
||||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
|
||||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
|
||||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
|
||||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
|
||||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
|
||||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
|
||||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
||||||
|
|
||||||
#import <Cocoa/Cocoa.h> |
|
||||||
|
|
||||||
int main(int argc, const char * argv[]) { |
|
||||||
return NSApplicationMain(argc, argv); |
|
||||||
} |
|
@ -1,10 +0,0 @@ |
|||||||
source 'https://github.com/CocoaPods/Specs.git' |
|
||||||
platform :osx, '10.9' |
|
||||||
|
|
||||||
install! 'cocoapods', :deterministic_uuids => false |
|
||||||
|
|
||||||
use_frameworks! |
|
||||||
|
|
||||||
target 'OSXCocoaPodsTester' do |
|
||||||
pod 'Protobuf', :path => '../../../..' |
|
||||||
end |
|
@ -1,8 +0,0 @@ |
|||||||
source 'https://github.com/CocoaPods/Specs.git' |
|
||||||
platform :osx, '10.9' |
|
||||||
|
|
||||||
install! 'cocoapods', :deterministic_uuids => false |
|
||||||
|
|
||||||
target 'OSXCocoaPodsTester' do |
|
||||||
pod 'Protobuf', :path => '../../../..' |
|
||||||
end |
|
@ -1,9 +0,0 @@ |
|||||||
CocoaPods Protocol Buffers Integration Tests |
|
||||||
============================================ |
|
||||||
|
|
||||||
The sub directories are the basic projects as created by Xcode 6.3. They are |
|
||||||
used to then drive `pod` and `xcodebuild` to ensure things integrate/build |
|
||||||
as expected. |
|
||||||
|
|
||||||
`run_tests.sh` defaults to running all the tests, invoke it with `--help` to |
|
||||||
see the arguments to control what tests are run. |
|
@ -1,10 +0,0 @@ |
|||||||
source 'https://github.com/CocoaPods/Specs.git' |
|
||||||
platform :ios, '9.0' |
|
||||||
|
|
||||||
install! 'cocoapods', :deterministic_uuids => false |
|
||||||
|
|
||||||
use_frameworks! |
|
||||||
|
|
||||||
target 'iOSCocoaPodsTester' do |
|
||||||
pod 'Protobuf', :path => '../../../..' |
|
||||||
end |
|
@ -1,8 +0,0 @@ |
|||||||
source 'https://github.com/CocoaPods/Specs.git' |
|
||||||
platform :ios, '9.0' |
|
||||||
|
|
||||||
install! 'cocoapods', :deterministic_uuids => false |
|
||||||
|
|
||||||
target 'iOSCocoaPodsTester' do |
|
||||||
pod 'Protobuf', :path => '../../../..' |
|
||||||
end |
|
@ -1,309 +0,0 @@ |
|||||||
// !$*UTF8*$! |
|
||||||
{ |
|
||||||
archiveVersion = 1; |
|
||||||
classes = { |
|
||||||
}; |
|
||||||
objectVersion = 46; |
|
||||||
objects = { |
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */ |
|
||||||
F4D5A08B1CEE01E200562D79 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D5A08A1CEE01E200562D79 /* main.m */; }; |
|
||||||
F4D5A08E1CEE01E200562D79 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D5A08D1CEE01E200562D79 /* AppDelegate.m */; }; |
|
||||||
F4D5A0911CEE01E200562D79 /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F4D5A0901CEE01E200562D79 /* ViewController.m */; }; |
|
||||||
F4D5A0941CEE01E200562D79 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F4D5A0921CEE01E200562D79 /* Main.storyboard */; }; |
|
||||||
F4D5A0961CEE01E200562D79 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F4D5A0951CEE01E200562D79 /* Assets.xcassets */; }; |
|
||||||
F4D5A0991CEE01E200562D79 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F4D5A0971CEE01E200562D79 /* LaunchScreen.storyboard */; }; |
|
||||||
/* End PBXBuildFile section */ |
|
||||||
|
|
||||||
/* Begin PBXFileReference section */ |
|
||||||
F4D5A0861CEE01E200562D79 /* iOSCocoaPodsTester.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = iOSCocoaPodsTester.app; sourceTree = BUILT_PRODUCTS_DIR; }; |
|
||||||
F4D5A08A1CEE01E200562D79 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; |
|
||||||
F4D5A08C1CEE01E200562D79 /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; }; |
|
||||||
F4D5A08D1CEE01E200562D79 /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; }; |
|
||||||
F4D5A08F1CEE01E200562D79 /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; }; |
|
||||||
F4D5A0901CEE01E200562D79 /* ViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ViewController.m; sourceTree = "<group>"; }; |
|
||||||
F4D5A0931CEE01E200562D79 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; }; |
|
||||||
F4D5A0951CEE01E200562D79 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; |
|
||||||
F4D5A0981CEE01E200562D79 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; |
|
||||||
F4D5A09A1CEE01E200562D79 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; |
|
||||||
/* End PBXFileReference section */ |
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */ |
|
||||||
F4D5A0831CEE01E200562D79 /* Frameworks */ = { |
|
||||||
isa = PBXFrameworksBuildPhase; |
|
||||||
buildActionMask = 2147483647; |
|
||||||
files = ( |
|
||||||
); |
|
||||||
runOnlyForDeploymentPostprocessing = 0; |
|
||||||
}; |
|
||||||
/* End PBXFrameworksBuildPhase section */ |
|
||||||
|
|
||||||
/* Begin PBXGroup section */ |
|
||||||
F4D5A07D1CEE01E200562D79 = { |
|
||||||
isa = PBXGroup; |
|
||||||
children = ( |
|
||||||
F4D5A0881CEE01E200562D79 /* iOSCocoaPodsTester */, |
|
||||||
F4D5A0871CEE01E200562D79 /* Products */, |
|
||||||
); |
|
||||||
sourceTree = "<group>"; |
|
||||||
}; |
|
||||||
F4D5A0871CEE01E200562D79 /* Products */ = { |
|
||||||
isa = PBXGroup; |
|
||||||
children = ( |
|
||||||
F4D5A0861CEE01E200562D79 /* iOSCocoaPodsTester.app */, |
|
||||||
); |
|
||||||
name = Products; |
|
||||||
sourceTree = "<group>"; |
|
||||||
}; |
|
||||||
F4D5A0881CEE01E200562D79 /* iOSCocoaPodsTester */ = { |
|
||||||
isa = PBXGroup; |
|
||||||
children = ( |
|
||||||
F4D5A08C1CEE01E200562D79 /* AppDelegate.h */, |
|
||||||
F4D5A08D1CEE01E200562D79 /* AppDelegate.m */, |
|
||||||
F4D5A08F1CEE01E200562D79 /* ViewController.h */, |
|
||||||
F4D5A0901CEE01E200562D79 /* ViewController.m */, |
|
||||||
F4D5A0921CEE01E200562D79 /* Main.storyboard */, |
|
||||||
F4D5A0951CEE01E200562D79 /* Assets.xcassets */, |
|
||||||
F4D5A0971CEE01E200562D79 /* LaunchScreen.storyboard */, |
|
||||||
F4D5A09A1CEE01E200562D79 /* Info.plist */, |
|
||||||
F4D5A0891CEE01E200562D79 /* Supporting Files */, |
|
||||||
); |
|
||||||
path = iOSCocoaPodsTester; |
|
||||||
sourceTree = "<group>"; |
|
||||||
}; |
|
||||||
F4D5A0891CEE01E200562D79 /* Supporting Files */ = { |
|
||||||
isa = PBXGroup; |
|
||||||
children = ( |
|
||||||
F4D5A08A1CEE01E200562D79 /* main.m */, |
|
||||||
); |
|
||||||
name = "Supporting Files"; |
|
||||||
sourceTree = "<group>"; |
|
||||||
}; |
|
||||||
/* End PBXGroup section */ |
|
||||||
|
|
||||||
/* Begin PBXNativeTarget section */ |
|
||||||
F4D5A0851CEE01E200562D79 /* iOSCocoaPodsTester */ = { |
|
||||||
isa = PBXNativeTarget; |
|
||||||
buildConfigurationList = F4D5A09D1CEE01E200562D79 /* Build configuration list for PBXNativeTarget "iOSCocoaPodsTester" */; |
|
||||||
buildPhases = ( |
|
||||||
F4D5A0821CEE01E200562D79 /* Sources */, |
|
||||||
F4D5A0831CEE01E200562D79 /* Frameworks */, |
|
||||||
F4D5A0841CEE01E200562D79 /* Resources */, |
|
||||||
); |
|
||||||
buildRules = ( |
|
||||||
); |
|
||||||
dependencies = ( |
|
||||||
); |
|
||||||
name = iOSCocoaPodsTester; |
|
||||||
productName = iOSCocoaPodsTester; |
|
||||||
productReference = F4D5A0861CEE01E200562D79 /* iOSCocoaPodsTester.app */; |
|
||||||
productType = "com.apple.product-type.application"; |
|
||||||
}; |
|
||||||
/* End PBXNativeTarget section */ |
|
||||||
|
|
||||||
/* Begin PBXProject section */ |
|
||||||
F4D5A07E1CEE01E200562D79 /* Project object */ = { |
|
||||||
isa = PBXProject; |
|
||||||
attributes = { |
|
||||||
LastUpgradeCheck = 0730; |
|
||||||
ORGANIZATIONNAME = Google; |
|
||||||
TargetAttributes = { |
|
||||||
F4D5A0851CEE01E200562D79 = { |
|
||||||
CreatedOnToolsVersion = 7.3.1; |
|
||||||
}; |
|
||||||
}; |
|
||||||
}; |
|
||||||
buildConfigurationList = F4D5A0811CEE01E200562D79 /* Build configuration list for PBXProject "iOSCocoaPodsTester" */; |
|
||||||
compatibilityVersion = "Xcode 3.2"; |
|
||||||
developmentRegion = English; |
|
||||||
hasScannedForEncodings = 0; |
|
||||||
knownRegions = ( |
|
||||||
en, |
|
||||||
Base, |
|
||||||
); |
|
||||||
mainGroup = F4D5A07D1CEE01E200562D79; |
|
||||||
productRefGroup = F4D5A0871CEE01E200562D79 /* Products */; |
|
||||||
projectDirPath = ""; |
|
||||||
projectRoot = ""; |
|
||||||
targets = ( |
|
||||||
F4D5A0851CEE01E200562D79 /* iOSCocoaPodsTester */, |
|
||||||
); |
|
||||||
}; |
|
||||||
/* End PBXProject section */ |
|
||||||
|
|
||||||
/* Begin PBXResourcesBuildPhase section */ |
|
||||||
F4D5A0841CEE01E200562D79 /* Resources */ = { |
|
||||||
isa = PBXResourcesBuildPhase; |
|
||||||
buildActionMask = 2147483647; |
|
||||||
files = ( |
|
||||||
F4D5A0991CEE01E200562D79 /* LaunchScreen.storyboard in Resources */, |
|
||||||
F4D5A0961CEE01E200562D79 /* Assets.xcassets in Resources */, |
|
||||||
F4D5A0941CEE01E200562D79 /* Main.storyboard in Resources */, |
|
||||||
); |
|
||||||
runOnlyForDeploymentPostprocessing = 0; |
|
||||||
}; |
|
||||||
/* End PBXResourcesBuildPhase section */ |
|
||||||
|
|
||||||
/* Begin PBXSourcesBuildPhase section */ |
|
||||||
F4D5A0821CEE01E200562D79 /* Sources */ = { |
|
||||||
isa = PBXSourcesBuildPhase; |
|
||||||
buildActionMask = 2147483647; |
|
||||||
files = ( |
|
||||||
F4D5A0911CEE01E200562D79 /* ViewController.m in Sources */, |
|
||||||
F4D5A08E1CEE01E200562D79 /* AppDelegate.m in Sources */, |
|
||||||
F4D5A08B1CEE01E200562D79 /* main.m in Sources */, |
|
||||||
); |
|
||||||
runOnlyForDeploymentPostprocessing = 0; |
|
||||||
}; |
|
||||||
/* End PBXSourcesBuildPhase section */ |
|
||||||
|
|
||||||
/* Begin PBXVariantGroup section */ |
|
||||||
F4D5A0921CEE01E200562D79 /* Main.storyboard */ = { |
|
||||||
isa = PBXVariantGroup; |
|
||||||
children = ( |
|
||||||
F4D5A0931CEE01E200562D79 /* Base */, |
|
||||||
); |
|
||||||
name = Main.storyboard; |
|
||||||
sourceTree = "<group>"; |
|
||||||
}; |
|
||||||
F4D5A0971CEE01E200562D79 /* LaunchScreen.storyboard */ = { |
|
||||||
isa = PBXVariantGroup; |
|
||||||
children = ( |
|
||||||
F4D5A0981CEE01E200562D79 /* Base */, |
|
||||||
); |
|
||||||
name = LaunchScreen.storyboard; |
|
||||||
sourceTree = "<group>"; |
|
||||||
}; |
|
||||||
/* End PBXVariantGroup section */ |
|
||||||
|
|
||||||
/* Begin XCBuildConfiguration section */ |
|
||||||
F4D5A09B1CEE01E200562D79 /* Debug */ = { |
|
||||||
isa = XCBuildConfiguration; |
|
||||||
buildSettings = { |
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO; |
|
||||||
CLANG_ANALYZER_NONNULL = YES; |
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; |
|
||||||
CLANG_CXX_LIBRARY = "libc++"; |
|
||||||
CLANG_ENABLE_MODULES = YES; |
|
||||||
CLANG_ENABLE_OBJC_ARC = YES; |
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES; |
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES; |
|
||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; |
|
||||||
CLANG_WARN_EMPTY_BODY = YES; |
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES; |
|
||||||
CLANG_WARN_INT_CONVERSION = YES; |
|
||||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; |
|
||||||
CLANG_WARN_UNREACHABLE_CODE = YES; |
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; |
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; |
|
||||||
COPY_PHASE_STRIP = NO; |
|
||||||
DEBUG_INFORMATION_FORMAT = dwarf; |
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES; |
|
||||||
ENABLE_TESTABILITY = YES; |
|
||||||
GCC_C_LANGUAGE_STANDARD = gnu99; |
|
||||||
GCC_DYNAMIC_NO_PIC = NO; |
|
||||||
GCC_NO_COMMON_BLOCKS = YES; |
|
||||||
GCC_OPTIMIZATION_LEVEL = 0; |
|
||||||
GCC_PREPROCESSOR_DEFINITIONS = ( |
|
||||||
"DEBUG=1", |
|
||||||
"$(inherited)", |
|
||||||
); |
|
||||||
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; |
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 9.3; |
|
||||||
MTL_ENABLE_DEBUG_INFO = YES; |
|
||||||
ONLY_ACTIVE_ARCH = YES; |
|
||||||
SDKROOT = iphoneos; |
|
||||||
TARGETED_DEVICE_FAMILY = "1,2"; |
|
||||||
}; |
|
||||||
name = Debug; |
|
||||||
}; |
|
||||||
F4D5A09C1CEE01E200562D79 /* Release */ = { |
|
||||||
isa = XCBuildConfiguration; |
|
||||||
buildSettings = { |
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO; |
|
||||||
CLANG_ANALYZER_NONNULL = YES; |
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; |
|
||||||
CLANG_CXX_LIBRARY = "libc++"; |
|
||||||
CLANG_ENABLE_MODULES = YES; |
|
||||||
CLANG_ENABLE_OBJC_ARC = YES; |
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES; |
|
||||||
CLANG_WARN_CONSTANT_CONVERSION = YES; |
|
||||||
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; |
|
||||||
CLANG_WARN_EMPTY_BODY = YES; |
|
||||||
CLANG_WARN_ENUM_CONVERSION = YES; |
|
||||||
CLANG_WARN_INT_CONVERSION = YES; |
|
||||||
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; |
|
||||||
CLANG_WARN_UNREACHABLE_CODE = YES; |
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; |
|
||||||
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; |
|
||||||
COPY_PHASE_STRIP = NO; |
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; |
|
||||||
ENABLE_NS_ASSERTIONS = NO; |
|
||||||
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; |
|
||||||
IPHONEOS_DEPLOYMENT_TARGET = 9.3; |
|
||||||
MTL_ENABLE_DEBUG_INFO = NO; |
|
||||||
SDKROOT = iphoneos; |
|
||||||
TARGETED_DEVICE_FAMILY = "1,2"; |
|
||||||
VALIDATE_PRODUCT = YES; |
|
||||||
}; |
|
||||||
name = Release; |
|
||||||
}; |
|
||||||
F4D5A09E1CEE01E200562D79 /* Debug */ = { |
|
||||||
isa = XCBuildConfiguration; |
|
||||||
buildSettings = { |
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
|
||||||
INFOPLIST_FILE = iOSCocoaPodsTester/Info.plist; |
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; |
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.google.iOSCocoaPodsTester; |
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)"; |
|
||||||
}; |
|
||||||
name = Debug; |
|
||||||
}; |
|
||||||
F4D5A09F1CEE01E200562D79 /* Release */ = { |
|
||||||
isa = XCBuildConfiguration; |
|
||||||
buildSettings = { |
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; |
|
||||||
INFOPLIST_FILE = iOSCocoaPodsTester/Info.plist; |
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; |
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = com.google.iOSCocoaPodsTester; |
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)"; |
|
||||||
}; |
|
||||||
name = Release; |
|
||||||
}; |
|
||||||
/* End XCBuildConfiguration section */ |
|
||||||
|
|
||||||
/* Begin XCConfigurationList section */ |
|
||||||
F4D5A0811CEE01E200562D79 /* Build configuration list for PBXProject "iOSCocoaPodsTester" */ = { |
|
||||||
isa = XCConfigurationList; |
|
||||||
buildConfigurations = ( |
|
||||||
F4D5A09B1CEE01E200562D79 /* Debug */, |
|
||||||
F4D5A09C1CEE01E200562D79 /* Release */, |
|
||||||
); |
|
||||||
defaultConfigurationIsVisible = 0; |
|
||||||
defaultConfigurationName = Release; |
|
||||||
}; |
|
||||||
F4D5A09D1CEE01E200562D79 /* Build configuration list for PBXNativeTarget "iOSCocoaPodsTester" */ = { |
|
||||||
isa = XCConfigurationList; |
|
||||||
buildConfigurations = ( |
|
||||||
F4D5A09E1CEE01E200562D79 /* Debug */, |
|
||||||
F4D5A09F1CEE01E200562D79 /* Release */, |
|
||||||
); |
|
||||||
defaultConfigurationIsVisible = 0; |
|
||||||
}; |
|
||||||
/* End XCConfigurationList section */ |
|
||||||
}; |
|
||||||
rootObject = F4D5A07E1CEE01E200562D79 /* Project object */; |
|
||||||
} |
|
@ -1,7 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="UTF-8"?> |
|
||||||
<Workspace |
|
||||||
version = "1.0"> |
|
||||||
<FileRef |
|
||||||
location = "self:iOSCocoaPodsTester.xcodeproj"> |
|
||||||
</FileRef> |
|
||||||
</Workspace> |
|
@ -1,91 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="UTF-8"?> |
|
||||||
<Scheme |
|
||||||
LastUpgradeVersion = "0730" |
|
||||||
version = "1.3"> |
|
||||||
<BuildAction |
|
||||||
parallelizeBuildables = "YES" |
|
||||||
buildImplicitDependencies = "YES"> |
|
||||||
<BuildActionEntries> |
|
||||||
<BuildActionEntry |
|
||||||
buildForTesting = "YES" |
|
||||||
buildForRunning = "YES" |
|
||||||
buildForProfiling = "YES" |
|
||||||
buildForArchiving = "YES" |
|
||||||
buildForAnalyzing = "YES"> |
|
||||||
<BuildableReference |
|
||||||
BuildableIdentifier = "primary" |
|
||||||
BlueprintIdentifier = "F4D5A0851CEE01E200562D79" |
|
||||||
BuildableName = "iOSCocoaPodsTester.app" |
|
||||||
BlueprintName = "iOSCocoaPodsTester" |
|
||||||
ReferencedContainer = "container:iOSCocoaPodsTester.xcodeproj"> |
|
||||||
</BuildableReference> |
|
||||||
</BuildActionEntry> |
|
||||||
</BuildActionEntries> |
|
||||||
</BuildAction> |
|
||||||
<TestAction |
|
||||||
buildConfiguration = "Debug" |
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" |
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" |
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES"> |
|
||||||
<Testables> |
|
||||||
</Testables> |
|
||||||
<MacroExpansion> |
|
||||||
<BuildableReference |
|
||||||
BuildableIdentifier = "primary" |
|
||||||
BlueprintIdentifier = "F4D5A0851CEE01E200562D79" |
|
||||||
BuildableName = "iOSCocoaPodsTester.app" |
|
||||||
BlueprintName = "iOSCocoaPodsTester" |
|
||||||
ReferencedContainer = "container:iOSCocoaPodsTester.xcodeproj"> |
|
||||||
</BuildableReference> |
|
||||||
</MacroExpansion> |
|
||||||
<AdditionalOptions> |
|
||||||
</AdditionalOptions> |
|
||||||
</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"> |
|
||||||
<BuildableProductRunnable |
|
||||||
runnableDebuggingMode = "0"> |
|
||||||
<BuildableReference |
|
||||||
BuildableIdentifier = "primary" |
|
||||||
BlueprintIdentifier = "F4D5A0851CEE01E200562D79" |
|
||||||
BuildableName = "iOSCocoaPodsTester.app" |
|
||||||
BlueprintName = "iOSCocoaPodsTester" |
|
||||||
ReferencedContainer = "container:iOSCocoaPodsTester.xcodeproj"> |
|
||||||
</BuildableReference> |
|
||||||
</BuildableProductRunnable> |
|
||||||
<AdditionalOptions> |
|
||||||
</AdditionalOptions> |
|
||||||
</LaunchAction> |
|
||||||
<ProfileAction |
|
||||||
buildConfiguration = "Release" |
|
||||||
shouldUseLaunchSchemeArgsEnv = "YES" |
|
||||||
savedToolIdentifier = "" |
|
||||||
useCustomWorkingDirectory = "NO" |
|
||||||
debugDocumentVersioning = "YES"> |
|
||||||
<BuildableProductRunnable |
|
||||||
runnableDebuggingMode = "0"> |
|
||||||
<BuildableReference |
|
||||||
BuildableIdentifier = "primary" |
|
||||||
BlueprintIdentifier = "F4D5A0851CEE01E200562D79" |
|
||||||
BuildableName = "iOSCocoaPodsTester.app" |
|
||||||
BlueprintName = "iOSCocoaPodsTester" |
|
||||||
ReferencedContainer = "container:iOSCocoaPodsTester.xcodeproj"> |
|
||||||
</BuildableReference> |
|
||||||
</BuildableProductRunnable> |
|
||||||
</ProfileAction> |
|
||||||
<AnalyzeAction |
|
||||||
buildConfiguration = "Debug"> |
|
||||||
</AnalyzeAction> |
|
||||||
<ArchiveAction |
|
||||||
buildConfiguration = "Release" |
|
||||||
revealArchiveInOrganizer = "YES"> |
|
||||||
</ArchiveAction> |
|
||||||
</Scheme> |
|
@ -1,39 +0,0 @@ |
|||||||
// Protocol Buffers - Google's data interchange format
|
|
||||||
// Copyright 2016 Google Inc. All rights reserved.
|
|
||||||
// https://developers.google.com/protocol-buffers/
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without
|
|
||||||
// modification, are permitted provided that the following conditions are
|
|
||||||
// met:
|
|
||||||
//
|
|
||||||
// * Redistributions of source code must retain the above copyright
|
|
||||||
// notice, this list of conditions and the following disclaimer.
|
|
||||||
// * Redistributions in binary form must reproduce the above
|
|
||||||
// copyright notice, this list of conditions and the following disclaimer
|
|
||||||
// in the documentation and/or other materials provided with the
|
|
||||||
// distribution.
|
|
||||||
// * Neither the name of Google Inc. nor the names of its
|
|
||||||
// contributors may be used to endorse or promote products derived from
|
|
||||||
// this software without specific prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
||||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
||||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
||||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
#import <UIKit/UIKit.h> |
|
||||||
|
|
||||||
@interface AppDelegate : UIResponder <UIApplicationDelegate> |
|
||||||
|
|
||||||
@property (strong, nonatomic) UIWindow *window; |
|
||||||
|
|
||||||
|
|
||||||
@end |
|
||||||
|
|
@ -1,67 +0,0 @@ |
|||||||
// Protocol Buffers - Google's data interchange format |
|
||||||
// Copyright 2016 Google Inc. All rights reserved. |
|
||||||
// https://developers.google.com/protocol-buffers/ |
|
||||||
// |
|
||||||
// Redistribution and use in source and binary forms, with or without |
|
||||||
// modification, are permitted provided that the following conditions are |
|
||||||
// met: |
|
||||||
// |
|
||||||
// * Redistributions of source code must retain the above copyright |
|
||||||
// notice, this list of conditions and the following disclaimer. |
|
||||||
// * Redistributions in binary form must reproduce the above |
|
||||||
// copyright notice, this list of conditions and the following disclaimer |
|
||||||
// in the documentation and/or other materials provided with the |
|
||||||
// distribution. |
|
||||||
// * Neither the name of Google Inc. nor the names of its |
|
||||||
// contributors may be used to endorse or promote products derived from |
|
||||||
// this software without specific prior written permission. |
|
||||||
// |
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
|
||||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
|
||||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
|
||||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
|
||||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
|
||||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
|
||||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
|
||||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
||||||
|
|
||||||
#import "AppDelegate.h" |
|
||||||
|
|
||||||
@interface AppDelegate () |
|
||||||
|
|
||||||
@end |
|
||||||
|
|
||||||
@implementation AppDelegate |
|
||||||
|
|
||||||
|
|
||||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { |
|
||||||
// Override point for customization after application launch. |
|
||||||
return YES; |
|
||||||
} |
|
||||||
|
|
||||||
- (void)applicationWillResignActive:(UIApplication *)application { |
|
||||||
// Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. |
|
||||||
// Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game. |
|
||||||
} |
|
||||||
|
|
||||||
- (void)applicationDidEnterBackground:(UIApplication *)application { |
|
||||||
// Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. |
|
||||||
// If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. |
|
||||||
} |
|
||||||
|
|
||||||
- (void)applicationWillEnterForeground:(UIApplication *)application { |
|
||||||
// Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background. |
|
||||||
} |
|
||||||
|
|
||||||
- (void)applicationDidBecomeActive:(UIApplication *)application { |
|
||||||
// Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. |
|
||||||
} |
|
||||||
|
|
||||||
- (void)applicationWillTerminate:(UIApplication *)application { |
|
||||||
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. |
|
||||||
} |
|
||||||
|
|
||||||
@end |
|
@ -1,68 +0,0 @@ |
|||||||
{ |
|
||||||
"images" : [ |
|
||||||
{ |
|
||||||
"idiom" : "iphone", |
|
||||||
"size" : "29x29", |
|
||||||
"scale" : "2x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "iphone", |
|
||||||
"size" : "29x29", |
|
||||||
"scale" : "3x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "iphone", |
|
||||||
"size" : "40x40", |
|
||||||
"scale" : "2x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "iphone", |
|
||||||
"size" : "40x40", |
|
||||||
"scale" : "3x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "iphone", |
|
||||||
"size" : "60x60", |
|
||||||
"scale" : "2x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "iphone", |
|
||||||
"size" : "60x60", |
|
||||||
"scale" : "3x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "ipad", |
|
||||||
"size" : "29x29", |
|
||||||
"scale" : "1x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "ipad", |
|
||||||
"size" : "29x29", |
|
||||||
"scale" : "2x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "ipad", |
|
||||||
"size" : "40x40", |
|
||||||
"scale" : "1x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "ipad", |
|
||||||
"size" : "40x40", |
|
||||||
"scale" : "2x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "ipad", |
|
||||||
"size" : "76x76", |
|
||||||
"scale" : "1x" |
|
||||||
}, |
|
||||||
{ |
|
||||||
"idiom" : "ipad", |
|
||||||
"size" : "76x76", |
|
||||||
"scale" : "2x" |
|
||||||
} |
|
||||||
], |
|
||||||
"info" : { |
|
||||||
"version" : 1, |
|
||||||
"author" : "xcode" |
|
||||||
} |
|
||||||
} |
|
@ -1,27 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
|
||||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="8150" systemVersion="15A204g" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" initialViewController="01J-lp-oVM"> |
|
||||||
<dependencies> |
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="8122"/> |
|
||||||
</dependencies> |
|
||||||
<scenes> |
|
||||||
<!--View Controller--> |
|
||||||
<scene sceneID="EHf-IW-A2E"> |
|
||||||
<objects> |
|
||||||
<viewController id="01J-lp-oVM" sceneMemberID="viewController"> |
|
||||||
<layoutGuides> |
|
||||||
<viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/> |
|
||||||
<viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/> |
|
||||||
</layoutGuides> |
|
||||||
<view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3"> |
|
||||||
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/> |
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
|
||||||
<animations/> |
|
||||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/> |
|
||||||
</view> |
|
||||||
</viewController> |
|
||||||
<placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/> |
|
||||||
</objects> |
|
||||||
<point key="canvasLocation" x="53" y="375"/> |
|
||||||
</scene> |
|
||||||
</scenes> |
|
||||||
</document> |
|
@ -1,26 +0,0 @@ |
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?> |
|
||||||
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="10117" systemVersion="15E65" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" initialViewController="BYZ-38-t0r"> |
|
||||||
<dependencies> |
|
||||||
<deployment identifier="iOS"/> |
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="10085"/> |
|
||||||
</dependencies> |
|
||||||
<scenes> |
|
||||||
<!--View Controller--> |
|
||||||
<scene sceneID="tne-QT-ifu"> |
|
||||||
<objects> |
|
||||||
<viewController id="BYZ-38-t0r" customClass="ViewController" sceneMemberID="viewController"> |
|
||||||
<layoutGuides> |
|
||||||
<viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/> |
|
||||||
<viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/> |
|
||||||
</layoutGuides> |
|
||||||
<view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC"> |
|
||||||
<rect key="frame" x="0.0" y="0.0" width="600" height="600"/> |
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> |
|
||||||
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/> |
|
||||||
</view> |
|
||||||
</viewController> |
|
||||||
<placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/> |
|
||||||
</objects> |
|
||||||
</scene> |
|
||||||
</scenes> |
|
||||||
</document> |
|
@ -1,47 +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>CFBundleDevelopmentRegion</key> |
|
||||||
<string>en</string> |
|
||||||
<key>CFBundleExecutable</key> |
|
||||||
<string>$(EXECUTABLE_NAME)</string> |
|
||||||
<key>CFBundleIdentifier</key> |
|
||||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> |
|
||||||
<key>CFBundleInfoDictionaryVersion</key> |
|
||||||
<string>6.0</string> |
|
||||||
<key>CFBundleName</key> |
|
||||||
<string>$(PRODUCT_NAME)</string> |
|
||||||
<key>CFBundlePackageType</key> |
|
||||||
<string>APPL</string> |
|
||||||
<key>CFBundleShortVersionString</key> |
|
||||||
<string>1.0</string> |
|
||||||
<key>CFBundleSignature</key> |
|
||||||
<string>????</string> |
|
||||||
<key>CFBundleVersion</key> |
|
||||||
<string>1</string> |
|
||||||
<key>LSRequiresIPhoneOS</key> |
|
||||||
<true/> |
|
||||||
<key>UILaunchStoryboardName</key> |
|
||||||
<string>LaunchScreen</string> |
|
||||||
<key>UIMainStoryboardFile</key> |
|
||||||
<string>Main</string> |
|
||||||
<key>UIRequiredDeviceCapabilities</key> |
|
||||||
<array> |
|
||||||
<string>armv7</string> |
|
||||||
</array> |
|
||||||
<key>UISupportedInterfaceOrientations</key> |
|
||||||
<array> |
|
||||||
<string>UIInterfaceOrientationPortrait</string> |
|
||||||
<string>UIInterfaceOrientationLandscapeLeft</string> |
|
||||||
<string>UIInterfaceOrientationLandscapeRight</string> |
|
||||||
</array> |
|
||||||
<key>UISupportedInterfaceOrientations~ipad</key> |
|
||||||
<array> |
|
||||||
<string>UIInterfaceOrientationPortrait</string> |
|
||||||
<string>UIInterfaceOrientationPortraitUpsideDown</string> |
|
||||||
<string>UIInterfaceOrientationLandscapeLeft</string> |
|
||||||
<string>UIInterfaceOrientationLandscapeRight</string> |
|
||||||
</array> |
|
||||||
</dict> |
|
||||||
</plist> |
|
@ -1,37 +0,0 @@ |
|||||||
// Protocol Buffers - Google's data interchange format
|
|
||||||
// Copyright 2016 Google Inc. All rights reserved.
|
|
||||||
// https://developers.google.com/protocol-buffers/
|
|
||||||
//
|
|
||||||
// Redistribution and use in source and binary forms, with or without
|
|
||||||
// modification, are permitted provided that the following conditions are
|
|
||||||
// met:
|
|
||||||
//
|
|
||||||
// * Redistributions of source code must retain the above copyright
|
|
||||||
// notice, this list of conditions and the following disclaimer.
|
|
||||||
// * Redistributions in binary form must reproduce the above
|
|
||||||
// copyright notice, this list of conditions and the following disclaimer
|
|
||||||
// in the documentation and/or other materials provided with the
|
|
||||||
// distribution.
|
|
||||||
// * Neither the name of Google Inc. nor the names of its
|
|
||||||
// contributors may be used to endorse or promote products derived from
|
|
||||||
// this software without specific prior written permission.
|
|
||||||
//
|
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
||||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
||||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
||||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
||||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
||||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
||||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
||||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
|
||||||
#import <UIKit/UIKit.h> |
|
||||||
|
|
||||||
@interface ViewController : UIViewController |
|
||||||
|
|
||||||
|
|
||||||
@end |
|
||||||
|
|
@ -1,49 +0,0 @@ |
|||||||
// Protocol Buffers - Google's data interchange format |
|
||||||
// Copyright 2016 Google Inc. All rights reserved. |
|
||||||
// https://developers.google.com/protocol-buffers/ |
|
||||||
// |
|
||||||
// Redistribution and use in source and binary forms, with or without |
|
||||||
// modification, are permitted provided that the following conditions are |
|
||||||
// met: |
|
||||||
// |
|
||||||
// * Redistributions of source code must retain the above copyright |
|
||||||
// notice, this list of conditions and the following disclaimer. |
|
||||||
// * Redistributions in binary form must reproduce the above |
|
||||||
// copyright notice, this list of conditions and the following disclaimer |
|
||||||
// in the documentation and/or other materials provided with the |
|
||||||
// distribution. |
|
||||||
// * Neither the name of Google Inc. nor the names of its |
|
||||||
// contributors may be used to endorse or promote products derived from |
|
||||||
// this software without specific prior written permission. |
|
||||||
// |
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
|
||||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
|
||||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
|
||||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
|
||||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
|
||||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
|
||||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
|
||||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
||||||
|
|
||||||
#import "ViewController.h" |
|
||||||
|
|
||||||
@interface ViewController () |
|
||||||
|
|
||||||
@end |
|
||||||
|
|
||||||
@implementation ViewController |
|
||||||
|
|
||||||
- (void)viewDidLoad { |
|
||||||
[super viewDidLoad]; |
|
||||||
// Do any additional setup after loading the view, typically from a nib. |
|
||||||
} |
|
||||||
|
|
||||||
- (void)didReceiveMemoryWarning { |
|
||||||
[super didReceiveMemoryWarning]; |
|
||||||
// Dispose of any resources that can be recreated. |
|
||||||
} |
|
||||||
|
|
||||||
@end |
|
@ -1,39 +0,0 @@ |
|||||||
// |
|
||||||
// Protocol Buffers - Google's data interchange format |
|
||||||
// Copyright 2016 Google Inc. All rights reserved. |
|
||||||
// https://developers.google.com/protocol-buffers/ |
|
||||||
// |
|
||||||
// Redistribution and use in source and binary forms, with or without |
|
||||||
// modification, are permitted provided that the following conditions are |
|
||||||
// met: |
|
||||||
// |
|
||||||
// * Redistributions of source code must retain the above copyright |
|
||||||
// notice, this list of conditions and the following disclaimer. |
|
||||||
// * Redistributions in binary form must reproduce the above |
|
||||||
// copyright notice, this list of conditions and the following disclaimer |
|
||||||
// in the documentation and/or other materials provided with the |
|
||||||
// distribution. |
|
||||||
// * Neither the name of Google Inc. nor the names of its |
|
||||||
// contributors may be used to endorse or promote products derived from |
|
||||||
// this software without specific prior written permission. |
|
||||||
// |
|
||||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
|
||||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
|
||||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
|
||||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
|
||||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
|
||||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
|
||||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
|
||||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
|
||||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
|
||||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
|
||||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
|
||||||
|
|
||||||
#import <UIKit/UIKit.h> |
|
||||||
#import "AppDelegate.h" |
|
||||||
|
|
||||||
int main(int argc, char * argv[]) { |
|
||||||
@autoreleasepool { |
|
||||||
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); |
|
||||||
} |
|
||||||
} |
|
@ -1,150 +0,0 @@ |
|||||||
#!/bin/bash |
|
||||||
# |
|
||||||
# Helper to run the pods tests. |
|
||||||
|
|
||||||
set -eu |
|
||||||
|
|
||||||
readonly ScriptDir=$(dirname "$(echo $0 | sed -e "s,^\([^/]\),$(pwd)/\1,")") |
|
||||||
|
|
||||||
printUsage() { |
|
||||||
NAME=$(basename "${0}") |
|
||||||
cat << EOF |
|
||||||
usage: ${NAME} [OPTIONS] |
|
||||||
|
|
||||||
This script runs some test to check the CocoaPods integration. |
|
||||||
|
|
||||||
OPTIONS: |
|
||||||
|
|
||||||
General: |
|
||||||
|
|
||||||
-h, --help |
|
||||||
Show this message |
|
||||||
--skip-static |
|
||||||
Skip the static based pods tests. |
|
||||||
--skip-framework |
|
||||||
Skip the framework based pods tests. |
|
||||||
--skip-ios |
|
||||||
Skip the iOS pods tests. |
|
||||||
--skip-osx |
|
||||||
Skip the OS X pods tests. |
|
||||||
|
|
||||||
EOF |
|
||||||
} |
|
||||||
|
|
||||||
TEST_MODES=( "static" "framework" ) |
|
||||||
TEST_NAMES=( "iOSCocoaPodsTester" "OSXCocoaPodsTester" ) |
|
||||||
while [[ $# != 0 ]]; do |
|
||||||
case "${1}" in |
|
||||||
-h | --help ) |
|
||||||
printUsage |
|
||||||
exit 0 |
|
||||||
;; |
|
||||||
--skip-static ) |
|
||||||
TEST_MODES=(${TEST_MODES[@]/static}) |
|
||||||
;; |
|
||||||
--skip-framework ) |
|
||||||
TEST_MODES=(${TEST_MODES[@]/framework}) |
|
||||||
;; |
|
||||||
--skip-ios ) |
|
||||||
TEST_NAMES=(${TEST_NAMES[@]/iOSCocoaPodsTester}) |
|
||||||
;; |
|
||||||
--skip-osx ) |
|
||||||
TEST_NAMES=(${TEST_NAMES[@]/OSXCocoaPodsTester}) |
|
||||||
;; |
|
||||||
-*) |
|
||||||
echo "ERROR: Unknown option: ${1}" 1>&2 |
|
||||||
printUsage |
|
||||||
exit 1 |
|
||||||
;; |
|
||||||
*) |
|
||||||
echo "ERROR: Unknown argument: ${1}" 1>&2 |
|
||||||
printUsage |
|
||||||
exit 1 |
|
||||||
;; |
|
||||||
esac |
|
||||||
shift |
|
||||||
done |
|
||||||
|
|
||||||
# Sanity check. |
|
||||||
if [[ "${#TEST_NAMES[@]}" == 0 ]] ; then |
|
||||||
echo "ERROR: Need to run at least iOS or OS X tests." 1>&2 |
|
||||||
exit 2 |
|
||||||
fi |
|
||||||
if [[ "${#TEST_MODES[@]}" == 0 ]] ; then |
|
||||||
echo "ERROR: Need to run at least static or frameworks tests." 1>&2 |
|
||||||
exit 2 |
|
||||||
fi |
|
||||||
|
|
||||||
header() { |
|
||||||
echo "" |
|
||||||
echo "========================================================================" |
|
||||||
echo " ${@}" |
|
||||||
echo "========================================================================" |
|
||||||
echo "" |
|
||||||
} |
|
||||||
|
|
||||||
# Cleanup hook for do_test, assumes directory is correct. |
|
||||||
cleanup() { |
|
||||||
local TEST_NAME="$1" |
|
||||||
|
|
||||||
echo "Cleaning up..." |
|
||||||
|
|
||||||
# Generally don't let things fail, and eat common stdout, but let stderr show |
|
||||||
# in case something does hiccup. |
|
||||||
xcodebuild -workspace "${TEST_NAME}.xcworkspace" -scheme "${TEST_NAME}" clean > /dev/null || true |
|
||||||
pod deintegrate > /dev/null || true |
|
||||||
# Flush the cache so nothing is left behind. |
|
||||||
pod cache clean --all || true |
|
||||||
# Delete the files left after pod deintegrate. |
|
||||||
rm -f Podfile.lock || true |
|
||||||
rm -rf "${TEST_NAME}.xcworkspace" || true |
|
||||||
git checkout -- "${TEST_NAME}.xcodeproj" || true |
|
||||||
# Remove the Podfile that was put in place. |
|
||||||
rm -f Podfile || true |
|
||||||
} |
|
||||||
|
|
||||||
do_test() { |
|
||||||
local TEST_NAME="$1" |
|
||||||
local TEST_MODE="$2" |
|
||||||
|
|
||||||
header "${TEST_NAME}" - Mode: "${TEST_MODE}" |
|
||||||
cd "${ScriptDir}/${TEST_NAME}" |
|
||||||
|
|
||||||
# Hook in cleanup for any failures. |
|
||||||
trap "cleanup ${TEST_NAME}" EXIT |
|
||||||
|
|
||||||
# Ensure nothing is cached by pods to start with that could throw things off. |
|
||||||
pod cache clean --all |
|
||||||
|
|
||||||
# Put the right Podfile in place. |
|
||||||
cp -f "Podfile-${TEST_MODE}" "Podfile" |
|
||||||
|
|
||||||
xcodebuild_args=( "-workspace" "${TEST_NAME}.xcworkspace" "-scheme" "${TEST_NAME}" ) |
|
||||||
|
|
||||||
# For iOS, if the SDK is not provided it tries to use iphoneos, and the test |
|
||||||
# fail on Travis since those machines don't have a Code Signing identity. |
|
||||||
if [[ "${TEST_NAME}" == iOS* ]] ; then |
|
||||||
# Apparently the destination flag is required to avoid "Unsupported architecture" |
|
||||||
# errors. |
|
||||||
xcodebuild_args+=( |
|
||||||
-sdk iphonesimulator ONLY_ACTIVE_ARCH=NO |
|
||||||
-destination "platform=iOS Simulator,name=iPad 2,OS=9.3" |
|
||||||
) |
|
||||||
fi |
|
||||||
|
|
||||||
# Do the work! |
|
||||||
pod install --verbose |
|
||||||
|
|
||||||
xcodebuild "${xcodebuild_args[@]}" build |
|
||||||
|
|
||||||
# Clear the hook and manually run cleanup. |
|
||||||
trap - EXIT |
|
||||||
cleanup "${TEST_NAME}" |
|
||||||
} |
|
||||||
|
|
||||||
# Run the tests. |
|
||||||
for TEST_NAME in "${TEST_NAMES[@]}" ; do |
|
||||||
for TEST_MODE in "${TEST_MODES[@]}" ; do |
|
||||||
do_test "${TEST_NAME}" "${TEST_MODE}" |
|
||||||
done |
|
||||||
done |
|
@ -0,0 +1,452 @@ |
|||||||
|
# Starlark utilities for working with other build systems |
||||||
|
|
||||||
|
load("@rules_pkg//:providers.bzl", "PackageFilegroupInfo", "PackageFilesInfo") |
||||||
|
|
||||||
|
################################################################################ |
||||||
|
# Macro to create CMake and Automake source lists. |
||||||
|
################################################################################ |
||||||
|
|
||||||
|
def gen_file_lists(name, out_stem, **kwargs): |
||||||
|
gen_cmake_file_lists( |
||||||
|
name = name + "_cmake", |
||||||
|
out = out_stem + ".cmake", |
||||||
|
source_prefix = "${protobuf_SOURCE_DIR}/", |
||||||
|
**kwargs |
||||||
|
) |
||||||
|
gen_automake_file_lists( |
||||||
|
name = name + "_automake", |
||||||
|
out = out_stem + ".am", |
||||||
|
source_prefix = "$(top_srcdir)/", |
||||||
|
**kwargs |
||||||
|
) |
||||||
|
native.filegroup( |
||||||
|
name = name, |
||||||
|
srcs = [ |
||||||
|
out_stem + ".cmake", |
||||||
|
out_stem + ".am", |
||||||
|
], |
||||||
|
) |
||||||
|
|
||||||
|
################################################################################ |
||||||
|
# Aspect that extracts srcs, hdrs, etc. |
||||||
|
################################################################################ |
||||||
|
|
||||||
|
CcFileList = provider( |
||||||
|
doc = "List of files to be built into a library.", |
||||||
|
fields = { |
||||||
|
# As a rule of thumb, `hdrs` and `textual_hdrs` are the files that |
||||||
|
# would be installed along with a prebuilt library. |
||||||
|
"hdrs": "public header files, including those used by generated code", |
||||||
|
"textual_hdrs": "files which are included but are not self-contained", |
||||||
|
|
||||||
|
# The `internal_hdrs` are header files which appear in `srcs`. |
||||||
|
# These are only used when compiling the library. |
||||||
|
"internal_hdrs": "internal header files (only used to build .cc files)", |
||||||
|
"srcs": "source files", |
||||||
|
}, |
||||||
|
) |
||||||
|
|
||||||
|
ProtoFileList = provider( |
||||||
|
doc = "List of proto files and generated code to be built into a library.", |
||||||
|
fields = { |
||||||
|
# Proto files: |
||||||
|
"proto_srcs": "proto file sources", |
||||||
|
|
||||||
|
# Generated sources: |
||||||
|
"hdrs": "header files that are expected to be generated", |
||||||
|
"srcs": "source files that are expected to be generated", |
||||||
|
}, |
||||||
|
) |
||||||
|
|
||||||
|
def _flatten_target_files(targets): |
||||||
|
files = [] |
||||||
|
for target in targets: |
||||||
|
for tfile in target.files.to_list(): |
||||||
|
files.append(tfile) |
||||||
|
return files |
||||||
|
|
||||||
|
def _combine_cc_file_lists(file_lists): |
||||||
|
hdrs = {} |
||||||
|
textual_hdrs = {} |
||||||
|
internal_hdrs = {} |
||||||
|
srcs = {} |
||||||
|
for file_list in file_lists: |
||||||
|
hdrs.update({f: 1 for f in file_list.hdrs}) |
||||||
|
textual_hdrs.update({f: 1 for f in file_list.textual_hdrs}) |
||||||
|
internal_hdrs.update({f: 1 for f in file_list.internal_hdrs}) |
||||||
|
srcs.update({f: 1 for f in file_list.srcs}) |
||||||
|
return CcFileList( |
||||||
|
hdrs = sorted(hdrs.keys()), |
||||||
|
textual_hdrs = sorted(textual_hdrs.keys()), |
||||||
|
internal_hdrs = sorted(internal_hdrs.keys()), |
||||||
|
srcs = sorted(srcs.keys()), |
||||||
|
) |
||||||
|
|
||||||
|
def _file_list_aspect_impl(target, ctx): |
||||||
|
# We're going to reach directly into the attrs on the traversed rule. |
||||||
|
rule_attr = ctx.rule.attr |
||||||
|
providers = [] |
||||||
|
|
||||||
|
# Extract sources from a `cc_library` (or similar): |
||||||
|
if CcInfo in target: |
||||||
|
# CcInfo is a proxy for what we expect this rule to look like. |
||||||
|
# However, some deps may expose `CcInfo` without having `srcs`, |
||||||
|
# `hdrs`, etc., so we use `getattr` to handle that gracefully. |
||||||
|
|
||||||
|
internal_hdrs = [] |
||||||
|
srcs = [] |
||||||
|
|
||||||
|
# Filter `srcs` so it only contains source files. Headers will go |
||||||
|
# into `internal_headers`. |
||||||
|
for src in _flatten_target_files(getattr(rule_attr, "srcs", [])): |
||||||
|
if src.extension.lower() in ["c", "cc", "cpp", "cxx"]: |
||||||
|
srcs.append(src) |
||||||
|
else: |
||||||
|
internal_hdrs.append(src) |
||||||
|
|
||||||
|
providers.append(CcFileList( |
||||||
|
hdrs = _flatten_target_files(getattr(rule_attr, "hdrs", [])), |
||||||
|
textual_hdrs = _flatten_target_files(getattr( |
||||||
|
rule_attr, |
||||||
|
"textual_hdrs", |
||||||
|
[], |
||||||
|
)), |
||||||
|
internal_hdrs = internal_hdrs, |
||||||
|
srcs = srcs, |
||||||
|
)) |
||||||
|
|
||||||
|
# Extract sources from a `proto_library`: |
||||||
|
if ProtoInfo in target: |
||||||
|
proto_srcs = [] |
||||||
|
srcs = [] |
||||||
|
hdrs = [] |
||||||
|
for src in _flatten_target_files(rule_attr.srcs): |
||||||
|
proto_srcs.append(src) |
||||||
|
srcs.append("%s/%s.pb.cc" % (src.dirname, src.basename)) |
||||||
|
hdrs.append("%s/%s.pb.h" % (src.dirname, src.basename)) |
||||||
|
|
||||||
|
providers.append(ProtoFileList( |
||||||
|
proto_srcs = proto_srcs, |
||||||
|
srcs = srcs, |
||||||
|
hdrs = hdrs, |
||||||
|
)) |
||||||
|
|
||||||
|
return providers |
||||||
|
|
||||||
|
file_list_aspect = aspect( |
||||||
|
doc = """ |
||||||
|
Aspect to provide the list of sources and headers from a rule. |
||||||
|
|
||||||
|
Output is CcFileList and/or ProtoFileList. Example: |
||||||
|
|
||||||
|
cc_library( |
||||||
|
name = "foo", |
||||||
|
srcs = [ |
||||||
|
"foo.cc", |
||||||
|
"foo_internal.h", |
||||||
|
], |
||||||
|
hdrs = ["foo.h"], |
||||||
|
textual_hdrs = ["foo_inl.inc"], |
||||||
|
) |
||||||
|
# produces: |
||||||
|
# CcFileList( |
||||||
|
# hdrs = [File("foo.h")], |
||||||
|
# textual_hdrs = [File("foo_inl.inc")], |
||||||
|
# internal_hdrs = [File("foo_internal.h")], |
||||||
|
# srcs = [File("foo.cc")], |
||||||
|
# ) |
||||||
|
|
||||||
|
proto_library( |
||||||
|
name = "bar_proto", |
||||||
|
srcs = ["bar.proto"], |
||||||
|
) |
||||||
|
# produces: |
||||||
|
# ProtoFileList( |
||||||
|
# proto_srcs = ["bar.proto"], |
||||||
|
# # Generated filenames are synthesized: |
||||||
|
# hdrs = ["bar.pb.h"], |
||||||
|
# srcs = ["bar.pb.cc"], |
||||||
|
# ) |
||||||
|
""", |
||||||
|
implementation = _file_list_aspect_impl, |
||||||
|
) |
||||||
|
|
||||||
|
################################################################################ |
||||||
|
# Generic source lists generation |
||||||
|
# |
||||||
|
# This factory creates a rule implementation that is parameterized by a |
||||||
|
# fragment generator function. |
||||||
|
################################################################################ |
||||||
|
|
||||||
|
def _create_file_list_impl(fragment_generator): |
||||||
|
# `fragment_generator` is a function like: |
||||||
|
# def fn(originating_rule: Label, |
||||||
|
# varname: str, |
||||||
|
# source_prefix: str, |
||||||
|
# path_strings: [str]) -> str |
||||||
|
# |
||||||
|
# It returns a string that defines `varname` to `path_strings`, each |
||||||
|
# prepended with `source_prefix`. |
||||||
|
# |
||||||
|
# When dealing with `File` objects, the `short_path` is used to strip |
||||||
|
# the output prefix for generated files. |
||||||
|
|
||||||
|
def _impl(ctx): |
||||||
|
out = ctx.outputs.out |
||||||
|
|
||||||
|
fragments = [] |
||||||
|
for srcrule, libname in ctx.attr.src_libs.items(): |
||||||
|
if CcFileList in srcrule: |
||||||
|
cc_file_list = srcrule[CcFileList] |
||||||
|
fragments.extend([ |
||||||
|
fragment_generator( |
||||||
|
srcrule.label, |
||||||
|
libname + "_srcs", |
||||||
|
ctx.attr.source_prefix, |
||||||
|
[f.short_path for f in cc_file_list.srcs], |
||||||
|
), |
||||||
|
fragment_generator( |
||||||
|
srcrule.label, |
||||||
|
libname + "_hdrs", |
||||||
|
ctx.attr.source_prefix, |
||||||
|
[f.short_path for f in (cc_file_list.hdrs + |
||||||
|
cc_file_list.textual_hdrs)], |
||||||
|
), |
||||||
|
]) |
||||||
|
|
||||||
|
if ProtoFileList in srcrule: |
||||||
|
proto_file_list = srcrule[ProtoFileList] |
||||||
|
fragments.extend([ |
||||||
|
fragment_generator( |
||||||
|
srcrule.label, |
||||||
|
libname + "_proto_srcs", |
||||||
|
ctx.attr.source_prefix, |
||||||
|
[f.short_path for f in proto_file_list.proto_srcs], |
||||||
|
), |
||||||
|
fragment_generator( |
||||||
|
srcrule.label, |
||||||
|
libname + "_srcs", |
||||||
|
ctx.attr.source_prefix, |
||||||
|
proto_file_list.srcs, |
||||||
|
), |
||||||
|
fragment_generator( |
||||||
|
srcrule.label, |
||||||
|
libname + "_hdrs", |
||||||
|
ctx.attr.source_prefix, |
||||||
|
proto_file_list.hdrs, |
||||||
|
), |
||||||
|
]) |
||||||
|
|
||||||
|
files = {} |
||||||
|
|
||||||
|
if PackageFilegroupInfo in srcrule: |
||||||
|
for pkg_files_info, origin in srcrule[PackageFilegroupInfo].pkg_files: |
||||||
|
# keys are the destination path: |
||||||
|
files.update(pkg_files_info.dest_src_map) |
||||||
|
|
||||||
|
if PackageFilesInfo in srcrule: |
||||||
|
# keys are the destination: |
||||||
|
files.update(srcrule[PackageFilesInfo].dest_src_map) |
||||||
|
|
||||||
|
if files == {} and DefaultInfo in srcrule and CcInfo not in srcrule: |
||||||
|
# This could be an individual file or filegroup. |
||||||
|
# We explicitly ignore rules with CcInfo, since their |
||||||
|
# output artifacts are libraries or binaries. |
||||||
|
files.update( |
||||||
|
{ |
||||||
|
f.short_path: 1 |
||||||
|
for f in srcrule[DefaultInfo].files.to_list() |
||||||
|
}, |
||||||
|
) |
||||||
|
|
||||||
|
if files: |
||||||
|
fragments.append( |
||||||
|
fragment_generator( |
||||||
|
srcrule.label, |
||||||
|
libname + "_files", |
||||||
|
ctx.attr.source_prefix, |
||||||
|
sorted(files.keys()), |
||||||
|
), |
||||||
|
) |
||||||
|
|
||||||
|
ctx.actions.write( |
||||||
|
output = out, |
||||||
|
content = (ctx.attr._header % ctx.label) + "\n".join(fragments), |
||||||
|
) |
||||||
|
|
||||||
|
return [DefaultInfo(files = depset([out]))] |
||||||
|
|
||||||
|
return _impl |
||||||
|
|
||||||
|
# Common rule attrs for rules that use `_create_file_list_impl`: |
||||||
|
# (note that `_header` is also required) |
||||||
|
_source_list_common_attrs = { |
||||||
|
"out": attr.output( |
||||||
|
doc = ( |
||||||
|
"The generated filename. This should usually have a build " + |
||||||
|
"system-specific extension, like `out.am` or `out.cmake`." |
||||||
|
), |
||||||
|
mandatory = True, |
||||||
|
), |
||||||
|
"src_libs": attr.label_keyed_string_dict( |
||||||
|
doc = ( |
||||||
|
"A dict, {target: libname} of libraries to include. " + |
||||||
|
"Targets can be C++ rules (like `cc_library` or `cc_test`), " + |
||||||
|
"`proto_library` rules, files, `filegroup` rules, `pkg_files` " + |
||||||
|
"rules, or `pkg_filegroup` rules. " + |
||||||
|
"The libname is a string, and used to construct the variable " + |
||||||
|
"name in the `out` file holding the target's sources. " + |
||||||
|
"For generated files, the output root (like `bazel-bin/`) is not " + |
||||||
|
"included. " + |
||||||
|
"For `pkg_files` and `pkg_filegroup` rules, the destination path " + |
||||||
|
"is used." |
||||||
|
), |
||||||
|
mandatory = True, |
||||||
|
providers = [ |
||||||
|
[CcFileList], |
||||||
|
[DefaultInfo], |
||||||
|
[PackageFilegroupInfo], |
||||||
|
[PackageFilesInfo], |
||||||
|
[ProtoFileList], |
||||||
|
], |
||||||
|
aspects = [file_list_aspect], |
||||||
|
), |
||||||
|
"source_prefix": attr.string( |
||||||
|
doc = "String to prepend to each source path.", |
||||||
|
), |
||||||
|
} |
||||||
|
|
||||||
|
################################################################################ |
||||||
|
# CMake source lists generation |
||||||
|
################################################################################ |
||||||
|
|
||||||
|
def _cmake_var_fragment(owner, varname, prefix, entries): |
||||||
|
"""Returns a single `set(varname ...)` fragment (CMake syntax). |
||||||
|
|
||||||
|
Args: |
||||||
|
owner: Label, the rule that owns these srcs. |
||||||
|
varname: str, the var name to set. |
||||||
|
prefix: str, prefix to prepend to each of `entries`. |
||||||
|
entries: [str], the entries in the list. |
||||||
|
|
||||||
|
Returns: |
||||||
|
A string. |
||||||
|
""" |
||||||
|
return ( |
||||||
|
"# {owner}\n" + |
||||||
|
"set({varname}\n" + |
||||||
|
"{entries}\n" + |
||||||
|
")\n" |
||||||
|
).format( |
||||||
|
owner = owner, |
||||||
|
varname = varname, |
||||||
|
entries = "\n".join([" %s%s" % (prefix, f) for f in entries]), |
||||||
|
) |
||||||
|
|
||||||
|
gen_cmake_file_lists = rule( |
||||||
|
doc = """ |
||||||
|
Generates a CMake-syntax file with lists of files. |
||||||
|
|
||||||
|
The generated file defines variables with lists of files from `srcs`. The |
||||||
|
intent is for these files to be included from a non-generated CMake file |
||||||
|
which actually defines the libraries based on these lists. |
||||||
|
|
||||||
|
For C++ rules, the following are generated: |
||||||
|
{libname}_srcs: contains srcs. |
||||||
|
{libname}_hdrs: contains hdrs and textual_hdrs. |
||||||
|
|
||||||
|
For proto_library, the following are generated: |
||||||
|
{libname}_proto_srcs: contains the srcs from the `proto_library` rule. |
||||||
|
{libname}_srcs: contains syntesized paths for generated C++ sources. |
||||||
|
{libname}_hdrs: contains syntesized paths for generated C++ headers. |
||||||
|
|
||||||
|
""", |
||||||
|
implementation = _create_file_list_impl(_cmake_var_fragment), |
||||||
|
attrs = dict( |
||||||
|
_source_list_common_attrs, |
||||||
|
_header = attr.string( |
||||||
|
default = """\ |
||||||
|
# Auto-generated by %s |
||||||
|
# |
||||||
|
# This file contains lists of sources based on Bazel rules. It should |
||||||
|
# be included from a hand-written CMake file that defines targets. |
||||||
|
# |
||||||
|
# Changes to this file will be overwritten based on Bazel definitions. |
||||||
|
|
||||||
|
if(${CMAKE_VERSION} VERSION_GREATER 3.10 OR ${CMAKE_VERSION} VERSION_EQUAL 3.10) |
||||||
|
include_guard() |
||||||
|
endif() |
||||||
|
|
||||||
|
""", |
||||||
|
), |
||||||
|
), |
||||||
|
) |
||||||
|
|
||||||
|
################################################################################ |
||||||
|
# Automake source lists generation |
||||||
|
################################################################################ |
||||||
|
|
||||||
|
def _automake_var_fragment(owner, varname, prefix, entries): |
||||||
|
"""Returns a single variable assignment fragment (Automake syntax). |
||||||
|
|
||||||
|
Args: |
||||||
|
owner: Label, the rule that owns these srcs. |
||||||
|
varname: str, the var name to set. |
||||||
|
prefix: str, prefix to prepend to each of `entries`. |
||||||
|
entries: [str], the entries in the list. |
||||||
|
|
||||||
|
Returns: |
||||||
|
A string. |
||||||
|
""" |
||||||
|
if len(entries) == 0: |
||||||
|
# A backslash followed by a blank line is illegal. We still want |
||||||
|
# to emit the variable, though. |
||||||
|
return "# {owner}\n{varname} =\n".format( |
||||||
|
owner = owner, |
||||||
|
varname = varname, |
||||||
|
) |
||||||
|
fragment = ( |
||||||
|
"# {owner}\n" + |
||||||
|
"{varname} = \\\n" + |
||||||
|
"{entries}" |
||||||
|
).format( |
||||||
|
owner = owner, |
||||||
|
varname = varname, |
||||||
|
entries = " \\\n".join([" %s%s" % (prefix, f) for f in entries]), |
||||||
|
) |
||||||
|
return fragment.rstrip("\\ ") + "\n" |
||||||
|
|
||||||
|
gen_automake_file_lists = rule( |
||||||
|
doc = """ |
||||||
|
Generates an Automake-syntax file with lists of files. |
||||||
|
|
||||||
|
The generated file defines variables with lists of files from `srcs`. The |
||||||
|
intent is for these files to be included from a non-generated Makefile.am |
||||||
|
file which actually defines the libraries based on these lists. |
||||||
|
|
||||||
|
For C++ rules, the following are generated: |
||||||
|
{libname}_srcs: contains srcs. |
||||||
|
{libname}_hdrs: contains hdrs and textual_hdrs. |
||||||
|
|
||||||
|
For proto_library, the following are generated: |
||||||
|
{libname}_proto_srcs: contains the srcs from the `proto_library` rule. |
||||||
|
{libname}_srcs: contains syntesized paths for generated C++ sources. |
||||||
|
{libname}_hdrs: contains syntesized paths for generated C++ headers. |
||||||
|
|
||||||
|
""", |
||||||
|
implementation = _create_file_list_impl(_automake_var_fragment), |
||||||
|
attrs = dict( |
||||||
|
_source_list_common_attrs.items(), |
||||||
|
_header = attr.string( |
||||||
|
default = """\ |
||||||
|
# Auto-generated by %s |
||||||
|
# |
||||||
|
# This file contains lists of sources based on Bazel rules. It should |
||||||
|
# be included from a hand-written Makefile.am that defines targets. |
||||||
|
# |
||||||
|
# Changes to this file will be overwritten based on Bazel definitions. |
||||||
|
|
||||||
|
""", |
||||||
|
), |
||||||
|
), |
||||||
|
) |
Loading…
Reference in new issue