Commit d897a371 authored by Fabio Pelosin's avatar Fabio Pelosin

[XCConfigIntegrator] Migrate old installations

parent d80a7386
......@@ -18,7 +18,7 @@ GIT
GIT
remote: https://github.com/CocoaPods/Xcodeproj.git
revision: f835e6e1145812ac04ac4b658321c727c2967547
revision: f7e2a798464b7f4fce49379a748490a8ba83549a
branch: master
specs:
xcodeproj (0.18.0)
......
......@@ -19,9 +19,10 @@
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
118DF2C9405612B45655D94E /* Pods-AFNetworking Example.Release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AFNetworking Example.Release.xcconfig"; path = "Pods/Pods-AFNetworking Example.Release.xcconfig"; sourceTree = "<group>"; };
1BC0FB7006F49381520A8545 /* Pods-AFNetworking Example.Debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AFNetworking Example.Debug.xcconfig"; path = "Pods/Pods-AFNetworking Example.Debug.xcconfig"; sourceTree = "<group>"; };
6935B1E417A24F0E958977ED /* libPods-AFNetworking Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AFNetworking Example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
B304CCE7177D58DD00F4FC85 /* adn.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = adn.cer; sourceTree = SOURCE_ROOT; };
E74E8E7AFD3F4DCF9FEAB5B4 /* Pods-AFNetworking Example.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AFNetworking Example.xcconfig"; path = "Pods/Pods-AFNetworking Example.xcconfig"; sourceTree = "<group>"; };
F8129BFB1591061B009BFE23 /* AFNetworking Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "AFNetworking Example.app"; sourceTree = BUILT_PRODUCTS_DIR; };
F8129BFF1591061B009BFE23 /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = System/Library/Frameworks/Cocoa.framework; sourceTree = SDKROOT; };
F8129C021591061B009BFE23 /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
......@@ -60,7 +61,8 @@
F8129C051591061B009BFE23 /* Classes */,
F8129BFE1591061B009BFE23 /* Frameworks */,
F8129BFC1591061B009BFE23 /* Products */,
E74E8E7AFD3F4DCF9FEAB5B4 /* Pods-AFNetworking Example.xcconfig */,
1BC0FB7006F49381520A8545 /* Pods-AFNetworking Example.Debug.xcconfig */,
118DF2C9405612B45655D94E /* Pods-AFNetworking Example.Release.xcconfig */,
);
indentWidth = 4;
sourceTree = "<group>";
......@@ -296,7 +298,7 @@
};
F8129C1A1591061B009BFE23 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = E74E8E7AFD3F4DCF9FEAB5B4 /* Pods-AFNetworking Example.xcconfig */;
baseConfigurationReference = 1BC0FB7006F49381520A8545 /* Pods-AFNetworking Example.Debug.xcconfig */;
buildSettings = {
CODE_SIGN_IDENTITY = "";
COMBINE_HIDPI_IMAGES = YES;
......@@ -310,7 +312,7 @@
};
F8129C1B1591061B009BFE23 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = E74E8E7AFD3F4DCF9FEAB5B4 /* Pods-AFNetworking Example.xcconfig */;
baseConfigurationReference = 118DF2C9405612B45655D94E /* Pods-AFNetworking Example.Release.xcconfig */;
buildSettings = {
CODE_SIGN_IDENTITY = "";
COMBINE_HIDPI_IMAGES = YES;
......
......@@ -35,8 +35,9 @@
/* Begin PBXFileReference section */
2982AD3117107C0000FFF048 /* adn.cer */ = {isa = PBXFileReference; lastKnownFileType = file; path = adn.cer; sourceTree = SOURCE_ROOT; };
50ABD6EC159FC2CE001BE42C /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
7384432FCC95B62DB577C5D3 /* Pods-AFNetworking iOS Example.Release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AFNetworking iOS Example.Release.xcconfig"; path = "Pods/Pods-AFNetworking iOS Example.Release.xcconfig"; sourceTree = "<group>"; };
9D87F8FEDE4A4313B0D579A3 /* libPods-AFNetworking iOS Example.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-AFNetworking iOS Example.a"; sourceTree = BUILT_PRODUCTS_DIR; };
AE3A9F4CC86440AAA3CF5792 /* Pods-AFNetworking iOS Example.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AFNetworking iOS Example.xcconfig"; path = "Pods/Pods-AFNetworking iOS Example.xcconfig"; sourceTree = "<group>"; };
B5BF8B2301C54A4C220FBB61 /* Pods-AFNetworking iOS Example.Debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-AFNetworking iOS Example.Debug.xcconfig"; path = "Pods/Pods-AFNetworking iOS Example.Debug.xcconfig"; sourceTree = "<group>"; };
F8129C3815910830009BFE23 /* Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Prefix.pch; sourceTree = SOURCE_ROOT; };
F8129C7215910C37009BFE23 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = SOURCE_ROOT; };
F8129C7315910C37009BFE23 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = SOURCE_ROOT; };
......@@ -130,7 +131,8 @@
F8E469ED1395812A00DB05C8 /* Images */,
F8E469631395739D00DB05C8 /* Frameworks */,
F8E469611395739C00DB05C8 /* Products */,
AE3A9F4CC86440AAA3CF5792 /* Pods-AFNetworking iOS Example.xcconfig */,
B5BF8B2301C54A4C220FBB61 /* Pods-AFNetworking iOS Example.Debug.xcconfig */,
7384432FCC95B62DB577C5D3 /* Pods-AFNetworking iOS Example.Release.xcconfig */,
);
indentWidth = 4;
sourceTree = "<group>";
......@@ -356,7 +358,7 @@
};
F8E469821395739D00DB05C8 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = AE3A9F4CC86440AAA3CF5792 /* Pods-AFNetworking iOS Example.xcconfig */;
baseConfigurationReference = B5BF8B2301C54A4C220FBB61 /* Pods-AFNetworking iOS Example.Debug.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ENABLE_OBJC_ARC = YES;
......@@ -378,7 +380,7 @@
};
F8E469831395739D00DB05C8 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = AE3A9F4CC86440AAA3CF5792 /* Pods-AFNetworking iOS Example.xcconfig */;
baseConfigurationReference = 7384432FCC95B62DB577C5D3 /* Pods-AFNetworking iOS Example.Release.xcconfig */;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ENABLE_OBJC_ARC = YES;
......
......@@ -33,7 +33,7 @@ module Pod
#
def create_xcconfig_file
target.build_configurations.each do |configuration|
path = library.xcconfig_path(configuration)
path = library.xcconfig_path(configuration.name)
UI.message "- Generating #{configuration.name} xcconfig file at #{UI.path(path)}" do
gen = Generator::XCConfig::AggregateXCConfig.new(library, configuration.name)
gen.save_as(path)
......
......@@ -30,10 +30,11 @@ module Pod
def integrate!
UI.section(integration_message) do
XCConfigIntegrator.integrate(target, native_targets)
return if native_targets_to_integrate.empty?
unless native_targets_to_integrate.empty?
add_pods_library
add_copy_resources_script_phase
add_check_manifest_lock_script_phase
end
user_project.save
end
end
......
......@@ -18,6 +18,7 @@ module Pod
def self.integrate(pod_bundle, targets)
targets.each do |target|
target.build_configurations.each do |config|
update_from_cocoapods_0_33_1(pod_bundle, targets)
set_target_xcconfig(pod_bundle, config)
check_overrides(pod_bundle, target, config)
end
......@@ -29,6 +30,31 @@ module Pod
# @!group Integration steps
#-------------------------------------------------------------------#
# Removes the xcconfig used up to CocoaPods 0.33 from the project and
# deletes the file it if exists.
#
# @param [Target::AggregateTarget] pod_bundle
# The Pods bundle.
#
# @param [XcodeProj::PBXNativeTarget] target
# The native targets.
#
# @todo This can be removed for CocoaPods 1.0
#
def self.update_from_cocoapods_0_33_1(pod_bundle, targets)
targets.map(&:project).uniq.each do |project|
path = pod_bundle.xcconfig_relative_path(nil)
file_ref = project.files.find { |f| f.path == path }
if file_ref
UI.message "- Removing (#{path})" do
file_ref.remove_from_project
absolute_path = pod_bundle.xcconfig_path
File.delete(absolute_path) if File.exist?(absolute_path)
end
end
end
end
# Creates a file reference to the xcconfig generated by
# CocoaPods (if needed) and sets it as the base configuration of
# build configuration of the user target.
......
Subproject commit cd2f35e69c8bacf6bcff1af404d8702d4019f773
Subproject commit 40b03ee32f6f2d7935ee7bd7b0379ca550ad828c
......@@ -23,6 +23,17 @@ module Pod
@pod_bundle.xcconfigs['App Store'] = configuration
end
it 'cleans the xcconfig used up to CocoaPods 0.33.1' do
path = @pod_bundle.xcconfig_path
file_ref = @project.new_file(path)
config = @target.build_configuration_list['Release']
config.base_configuration_reference = file_ref
File.expects(:exist?).returns(true)
File.expects(:delete).with(path)
XCConfigIntegrator.integrate(@pod_bundle, [@target])
@project.files.find { |f| f.path == path }.should.be.nil
end
it 'sets the Pods xcconfig as the base config for each build configuration' do
XCConfigIntegrator.integrate(@pod_bundle, [@target])
@target.build_configurations.each do |config|
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment