updated setup for cocoapods fixtures

1. use local gemfile with cocoapods and
   cocoapods-dependencies-list plugin
2. update to cocoapods 1.12.x
This commit is contained in:
Jon Ruskin 2023-03-19 19:57:46 -07:00
Родитель d1dd11c13a
Коммит 21fd644248
6 изменённых файлов: 269 добавлений и 8 удалений

Просмотреть файл

@ -1,18 +1,21 @@
#!/bin/bash
set -e
if [ -z "$(which pod)" ]; then
echo "A local pod installation is required for cocoapods development." >&2
exit 127
fi
# setup test fixtures
BASE_PATH="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
cd $BASE_PATH/test/fixtures/cocoapods
cd "$BASE_PATH/test/fixtures/cocoapods"
if [ "$1" == "-f" ]; then
git clean -ffX .
fi
# install cocoapods and cocoapods-dependencies-list plugin
bundle config set path 'vendor/gems'
bundle install
OPTIONS=()
if [ "$1" == "-f" ]; then
OPTIONS+="--clean-install"
fi
pod install ${OPTIONS[@]}
pod install "${OPTIONS[@]}"

2
test/fixtures/cocoapods/.gitignore поставляемый
Просмотреть файл

@ -1 +1,3 @@
/Pods/
/vendor/
/.bundle/

9
test/fixtures/cocoapods/Gemfile поставляемый Normal file
Просмотреть файл

@ -0,0 +1,9 @@
# frozen_string_literal: true
source "https://rubygems.org"
# Specify your gem's dependencies in licensed.gemspec
gem "cocoapods"
group "plugins" do
gem "cocoapods-dependencies-list", git: "https://github.com/jonabc/cocoapods-dependencies-list"
end

102
test/fixtures/cocoapods/Gemfile.lock поставляемый Normal file
Просмотреть файл

@ -0,0 +1,102 @@
GIT
remote: https://github.com/jonabc/cocoapods-dependencies-list
revision: 437d6e1060c2c5510241d04ae480f184146593b0
specs:
cocoapods-dependencies-list (0.0.1)
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.6)
rexml
activesupport (7.0.4.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
addressable (2.8.1)
public_suffix (>= 2.0.2, < 6.0)
algoliasearch (1.27.5)
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
atomos (0.1.3)
claide (1.1.0)
cocoapods (1.12.0)
addressable (~> 2.8)
claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.12.0)
cocoapods-deintegrate (>= 1.0.3, < 2.0)
cocoapods-downloader (>= 1.6.0, < 2.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
cocoapods-search (>= 1.0.0, < 2.0)
cocoapods-trunk (>= 1.6.0, < 2.0)
cocoapods-try (>= 1.1.0, < 2.0)
colored2 (~> 3.1)
escape (~> 0.0.4)
fourflusher (>= 2.3.0, < 3.0)
gh_inspector (~> 1.0)
molinillo (~> 0.8.0)
nap (~> 1.0)
ruby-macho (>= 2.3.0, < 3.0)
xcodeproj (>= 1.21.0, < 2.0)
cocoapods-core (1.12.0)
activesupport (>= 5.0, < 8)
addressable (~> 2.8)
algoliasearch (~> 1.0)
concurrent-ruby (~> 1.1)
fuzzy_match (~> 2.0.4)
nap (~> 1.0)
netrc (~> 0.11)
public_suffix (~> 4.0)
typhoeus (~> 1.0)
cocoapods-deintegrate (1.0.5)
cocoapods-downloader (1.6.3)
cocoapods-plugins (1.0.0)
nap
cocoapods-search (1.0.1)
cocoapods-trunk (1.6.0)
nap (>= 0.8, < 2.0)
netrc (~> 0.11)
cocoapods-try (1.2.0)
colored2 (3.1.2)
concurrent-ruby (1.2.2)
escape (0.0.4)
ethon (0.16.0)
ffi (>= 1.15.0)
ffi (1.15.5)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
httpclient (2.8.3)
i18n (1.12.0)
concurrent-ruby (~> 1.0)
json (2.6.3)
minitest (5.18.0)
molinillo (0.8.0)
nanaimo (0.3.0)
nap (1.1.0)
netrc (0.11.0)
public_suffix (4.0.7)
rexml (3.2.5)
ruby-macho (2.5.1)
typhoeus (1.4.0)
ethon (>= 0.9.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
xcodeproj (1.22.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
rexml (~> 3.2.4)
PLATFORMS
ruby
DEPENDENCIES
cocoapods
cocoapods-dependencies-list!
BUNDLED WITH
2.3.26

2
test/fixtures/cocoapods/Podfile.lock поставляемый
Просмотреть файл

@ -99,4 +99,4 @@ SPEC CHECKSUMS:
PODFILE CHECKSUM: bdfd89e228c2312fe7d97a12be23107d74b78421
COCOAPODS: 1.11.3
COCOAPODS: 1.12.0

Просмотреть файл

@ -6,6 +6,11 @@
objectVersion = 51;
objects = {
/* Begin PBXBuildFile section */
725F0B593C7ED093B3780084 /* Pods_iosTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 578D04770F54DE477CC389D6 /* Pods_iosTests.framework */; };
909D4D4AC672E3A516A2D64F /* Pods_ios.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2FCDB6FF29A9F30EF2279A7 /* Pods_ios.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
E3999824D112043DE8E88846 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@ -18,9 +23,34 @@
/* Begin PBXFileReference section */
07598229C97B25EC09E1E750 /* ios.app */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.application; path = ios.app; sourceTree = BUILT_PRODUCTS_DIR; };
376F843147F5EEF103790AD2 /* Pods-iosTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-iosTests.debug.xcconfig"; path = "Target Support Files/Pods-iosTests/Pods-iosTests.debug.xcconfig"; sourceTree = "<group>"; };
56F698D1A2EE3DA1EA36472F /* iosTests.xctest */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = wrapper.cfbundle; path = iosTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
578D04770F54DE477CC389D6 /* Pods_iosTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_iosTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
782118AAD40B5A5DA8641741 /* Pods-iosTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-iosTests.release.xcconfig"; path = "Target Support Files/Pods-iosTests/Pods-iosTests.release.xcconfig"; sourceTree = "<group>"; };
A1D3BEB94FDAB97EE219BF0C /* Pods-ios.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ios.debug.xcconfig"; path = "Target Support Files/Pods-ios/Pods-ios.debug.xcconfig"; sourceTree = "<group>"; };
A2FCDB6FF29A9F30EF2279A7 /* Pods_ios.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ios.framework; sourceTree = BUILT_PRODUCTS_DIR; };
C0780757057593B8B74D7075 /* Pods-ios.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-ios.release.xcconfig"; path = "Target Support Files/Pods-ios/Pods-ios.release.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
02D85C912F4B87472613976E /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
725F0B593C7ED093B3780084 /* Pods_iosTests.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
EE91A0103D87756169485CDC /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
909D4D4AC672E3A516A2D64F /* Pods_ios.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
56DF4E8E10A8991E1530FAE8 /* iosTests */ = {
isa = PBXGroup;
@ -45,12 +75,35 @@
path = ios;
sourceTree = "<group>";
};
C91A823B3C7712079552DF6A /* Pods */ = {
isa = PBXGroup;
children = (
A1D3BEB94FDAB97EE219BF0C /* Pods-ios.debug.xcconfig */,
C0780757057593B8B74D7075 /* Pods-ios.release.xcconfig */,
376F843147F5EEF103790AD2 /* Pods-iosTests.debug.xcconfig */,
782118AAD40B5A5DA8641741 /* Pods-iosTests.release.xcconfig */,
);
name = Pods;
path = Pods;
sourceTree = "<group>";
};
CF390191D1E201D300E1177F /* Frameworks */ = {
isa = PBXGroup;
children = (
A2FCDB6FF29A9F30EF2279A7 /* Pods_ios.framework */,
578D04770F54DE477CC389D6 /* Pods_iosTests.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
DCC682D4A34A47286DC3668D = {
isa = PBXGroup;
children = (
AD5CE3D685274DEA767D3FBA /* ios */,
56DF4E8E10A8991E1530FAE8 /* iosTests */,
98DCE871D516BA368C096FB6 /* Products */,
C91A823B3C7712079552DF6A /* Pods */,
CF390191D1E201D300E1177F /* Frameworks */,
);
sourceTree = "<group>";
};
@ -61,7 +114,10 @@
isa = PBXNativeTarget;
buildConfigurationList = B09050E69F79472FFA774918 /* Build configuration list for PBXNativeTarget "iosTests" */;
buildPhases = (
FBD34C141E4AE05EF793D223 /* [CP] Check Pods Manifest.lock */,
4ADB27C84D37D42F473C6F1A /* Sources */,
02D85C912F4B87472613976E /* Frameworks */,
9EC36E7999744F04590964A0 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@ -77,7 +133,10 @@
isa = PBXNativeTarget;
buildConfigurationList = 254407FBAE608B768D0F34E8 /* Build configuration list for PBXNativeTarget "ios" */;
buildPhases = (
BBBBC32AA3D5BEBF642472ED /* [CP] Check Pods Manifest.lock */,
1A12E8A67ABB0C6B7845294E /* Sources */,
EE91A0103D87756169485CDC /* Frameworks */,
7C86221739FEEF2DDCB60E48 /* [CP] Embed Pods Frameworks */,
);
buildRules = (
);
@ -107,6 +166,7 @@
en,
);
mainGroup = DCC682D4A34A47286DC3668D;
productRefGroup = 98DCE871D516BA368C096FB6 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
@ -116,6 +176,87 @@
};
/* End PBXProject section */
/* Begin PBXShellScriptBuildPhase section */
7C86221739FEEF2DDCB60E48 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-ios/Pods-ios-frameworks-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Embed Pods Frameworks";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-ios/Pods-ios-frameworks-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-ios/Pods-ios-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
9EC36E7999744F04590964A0 /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-iosTests/Pods-iosTests-frameworks-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Embed Pods Frameworks";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-iosTests/Pods-iosTests-frameworks-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-iosTests/Pods-iosTests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
BBBBC32AA3D5BEBF642472ED /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-ios-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
FBD34C141E4AE05EF793D223 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-iosTests-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
1A12E8A67ABB0C6B7845294E /* Sources */ = {
isa = PBXSourcesBuildPhase;
@ -144,6 +285,7 @@
/* Begin XCBuildConfiguration section */
1588C5088418414A4D125A34 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 782118AAD40B5A5DA8641741 /* Pods-iosTests.release.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
LD_RUNPATH_SEARCH_PATHS = (
@ -159,6 +301,7 @@
};
3F06443FC191E03534A2DE7A /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 376F843147F5EEF103790AD2 /* Pods-iosTests.debug.xcconfig */;
buildSettings = {
BUNDLE_LOADER = "$(TEST_HOST)";
LD_RUNPATH_SEARCH_PATHS = (
@ -174,6 +317,7 @@
};
94AAA1C5A9C82E2F2012CF9C /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = C0780757057593B8B74D7075 /* Pods-ios.release.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";
@ -306,6 +450,7 @@
};
F406B4E41AD59D4051593F2C /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = A1D3BEB94FDAB97EE219BF0C /* Pods-ios.debug.xcconfig */;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_IDENTITY = "iPhone Developer";