{"action":"created","issue":{"url":"https://api.github.com/repos/apple/swift-package-manager/issues/643","repository_url":"https://api.github.com/repos/apple/swift-package-manager","labels_url":"https://api.github.com/repos/apple/swift-package-manager/issues/643/labels{/name}","comments_url":"https://api.github.com/repos/apple/swift-package-manager/issues/643/comments","events_url":"https://api.github.com/repos/apple/swift-package-manager/issues/643/events","html_url":"https://github.com/apple/swift-package-manager/pull/643","id":176199239,"number":643,"title":"[Xcodeproj] Fix Build Settings Plist","user":{"login":"kylerokita","id":7111607,"avatar_url":"https://avatars.githubusercontent.com/u/7111607?v=3","gravatar_id":"","url":"https://api.github.com/users/kylerokita","html_url":"https://github.com/kylerokita","followers_url":"https://api.github.com/users/kylerokita/followers","following_url":"https://api.github.com/users/kylerokita/following{/other_user}","gists_url":"https://api.github.com/users/kylerokita/gists{/gist_id}","starred_url":"https://api.github.com/users/kylerokita/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kylerokita/subscriptions","organizations_url":"https://api.github.com/users/kylerokita/orgs","repos_url":"https://api.github.com/users/kylerokita/repos","events_url":"https://api.github.com/users/kylerokita/events{/privacy}","received_events_url":"https://api.github.com/users/kylerokita/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-09-10T19:51:23Z","updated_at":"2016-09-13T05:21:03Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/apple/swift-package-manager/pulls/643","html_url":"https://github.com/apple/swift-package-manager/pull/643","diff_url":"https://github.com/apple/swift-package-manager/pull/643.diff","patch_url":"https://github.com/apple/swift-package-manager/pull/643.patch"},"body":"This fixes an issue in ```toPlist()``` where arrays of strings were being escaped and having extra quotes added incorrectly when Plist enum ```serialize()``` already performs that work.\r\n\r\nThe downstream effect was that the build settings for modules were incorrect in Xcode in cases where an array of arguments was passed in. This effects ``OTHER_SWIFT_FLAGS```, ```OTHER_LDFLAGS```, etc.\r\n\r\nFor example, see this screen shot where the module build setting ```OTHER_SWIFT_FLAGS``` is set to ```\"$(inherited)\"``` instead of ```$(inherited)```. In this example, ```-DXcode``` is not passed to the compiler. \r\n\r\n<img width=\"891\" alt=\"screen shot 2016-09-10 at 12 45 02 pm\" src=\"https://cloud.githubusercontent.com/assets/7111607/18413141/7a4916ae-7754-11e6-9395-67783a6a1158.png\">\r\n\r\n\r\nHere is the generated build settings in ```project.pbxproj```:\r\n\r\n<img width=\"785\" alt=\"screen shot 2016-09-10 at 1 03 00 pm\" src=\"https://cloud.githubusercontent.com/assets/7111607/18413246/0c3bfa48-7757-11e6-9c5d-fa269511e80d.png\">\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/apple/swift-package-manager/issues/comments/246577106","html_url":"https://github.com/apple/swift-package-manager/pull/643#issuecomment-246577106","issue_url":"https://api.github.com/repos/apple/swift-package-manager/issues/643","id":246577106,"user":{"login":"abertelrud","id":18221004,"avatar_url":"https://avatars.githubusercontent.com/u/18221004?v=3","gravatar_id":"","url":"https://api.github.com/users/abertelrud","html_url":"https://github.com/abertelrud","followers_url":"https://api.github.com/users/abertelrud/followers","following_url":"https://api.github.com/users/abertelrud/following{/other_user}","gists_url":"https://api.github.com/users/abertelrud/gists{/gist_id}","starred_url":"https://api.github.com/users/abertelrud/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abertelrud/subscriptions","organizations_url":"https://api.github.com/users/abertelrud/orgs","repos_url":"https://api.github.com/users/abertelrud/repos","events_url":"https://api.github.com/users/abertelrud/events{/privacy}","received_events_url":"https://api.github.com/users/abertelrud/received_events","type":"User","site_admin":false},"created_at":"2016-09-13T05:21:03Z","updated_at":"2016-09-13T05:21:03Z","body":"@aciidb0mb3r  It's a little bit complicated, unfortunately.  Xcode has knowledge that certain build settings are strings and others are string lists.  Still others are unknown to Xcode; users are free to add build settings with any name they choose.\r\n\r\nFor the settings that Xcode knows to be strings (because it defines them), such as for example PRODUCT_NAME, there is no need to quote (in fact the contents _shouldn't_ be quoted).  Other settings (both those known to be lists and those not known to Xcode) are indeed parsed as whitespace-separated sequences of quoted strings, so any elements that contain whitespace _do_ need to be quoted.  However, references to other build settings do not need to be quoted."}}
{"actor":{"display_login":"abertelrud"}}