diff --git a/CHANGELOG.md b/CHANGELOG.md index f0238fef1..2c3e39b62 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,9 @@ ##### Bug Fixes -* None. +* Fix small bug where product references have a trailing dot + [nickgravelyn](https://github.com/nickgravelyn) + [#757](https://github.com/CocoaPods/Xcodeproj/pull/757) ## 1.16.0 (2020-04-10) diff --git a/lib/xcodeproj/project/object/helpers/file_references_factory.rb b/lib/xcodeproj/project/object/helpers/file_references_factory.rb index 20c767836..bfb0c22b8 100644 --- a/lib/xcodeproj/project/object/helpers/file_references_factory.rb +++ b/lib/xcodeproj/project/object/helpers/file_references_factory.rb @@ -52,7 +52,9 @@ def new_product_ref_for_target(group, target_name, product_type) prefix = 'lib' end extension = Constants::PRODUCT_UTI_EXTENSIONS[product_type] - ref = new_reference(group, "#{prefix}#{target_name}.#{extension}", :built_products) + path = "#{prefix}#{target_name}" + path += ".#{extension}" if extension + ref = new_reference(group, path, :built_products) ref.include_in_index = '0' ref.set_explicit_file_type ref diff --git a/spec/project/object/helpers/file_references_factory_spec.rb b/spec/project/object/helpers/file_references_factory_spec.rb index 9972c8e6c..410010742 100644 --- a/spec/project/object/helpers/file_references_factory_spec.rb +++ b/spec/project/object/helpers/file_references_factory_spec.rb @@ -281,5 +281,19 @@ module ProjectSpecs end #-------------------------------------------------------------------------# + + describe '::new_product_ref_for_target' do + it 'adds extension for target types that have extensions' do + ref = @factory.new_product_ref_for_target(@group, 'Pods', :static_library) + ref.path.should == 'libPods.a' + end + + it 'does not add trailing dot for target types that do not have extensions' do + ref = @factory.new_product_ref_for_target(@group, 'mytool', :command_line_tool) + ref.path.should == 'mytool' + end + end + + #-------------------------------------------------------------------------# end end