{ "id": "166423", "key": "TIMOB-24453", "fields": { "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false }, "project": { "id": "10153", "key": "TIMOB", "name": "Titanium SDK/CLI", "projectCategory": { "id": "10100", "description": "Titanium and related SDKs used in application development", "name": "Client" } }, "fixVersions": [], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2017-04-14T13:48:23.000+0000", "created": "2017-03-05T16:24:01.000+0000", "priority": { "name": "Medium", "id": "3" }, "labels": [], "versions": [], "issuelinks": [], "assignee": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "updated": "2017-04-14T13:48:23.000+0000", "status": { "description": "A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.", "name": "Resolved", "id": "5", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "components": [ { "id": "10206", "name": "iOS", "description": "iOS Platform" } ], "description": "There are many use-cases where developers want the module version inside the module.xcconfig (e.g. when manually linking frameworks like [here|https://github.com/appcelerator-modules/ti.facebook/blob/master/ios/module.xcconfig#L12] or [here|https://github.com/hansemannn/ti.googlesignin/blob/master/iphone/module.xcconfig#L9]. Module developers usually bump the version in both the manifest and this file, which can easily cause problems when they forget it (I did twice as well).\r\n\r\nLong story short, we would add the compiler flag {{TI_MODULE_VERSION}} to the generated {{module.xcconfig}}, so people can use the flag with {{$(TI_MODULE_VERSION)}}.\r\n\r\nAnother thing was that we should only generate the {{metadata.json}} when there are JS files to encrypt. Otherwise, it will generate an empty json file that isn't required and also not generated when using the old build.py (rot in hell).", "attachment": [], "flagged": false, "summary": "iOS: Don't include metadata.json when no assets, utilize module version as a compiler flag", "creator": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "subtasks": [], "reporter": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "environment": null, "comment": { "comments": [ { "id": "409265", "author": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "body": "PR: https://github.com/appcelerator/titanium_mobile/pull/8861\r\n\r\nTo test:\r\n# Create a new iOS module with {{appc new -t -p ios}}\r\n# Build the module with {{appc run -p ios --build-only}}\r\n# Unzip the generated module\r\n# Inspect the {{modules/iphone//1.0.0/module.xcconfig}} to include the {{TI_MODULE_VERSION}} compiler flag at the top of the file", "updateAuthor": { "name": "hknoechel", "key": "hansknoechel", "displayName": "Hans Knöchel", "active": true, "timeZone": "Europe/Berlin" }, "created": "2017-03-05T16:31:25.000+0000", "updated": "2017-03-05T16:31:25.000+0000" } ], "maxResults": 1, "total": 1, "startAt": 0 } } }