{ "id": "149276", "key": "TIMOB-19113", "fields": { "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "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": null, "resolutiondate": null, "created": "2015-06-30T13:22:49.000+0000", "priority": { "name": "None", "id": "6" }, "labels": [ "cb-tooling" ], "versions": [ { "id": "16723", "description": "Windows Platform Support, ListView updates, Vector overlays in maps", "name": "Release 4.1.0", "archived": false, "released": true, "releaseDate": "2015-07-08" } ], "issuelinks": [ { "id": "48230", "type": { "id": "10011", "name": "Includes", "inward": "is included by", "outward": "includes" }, "outwardIssue": { "id": "149274", "key": "TIMOB-19112", "fields": { "summary": "Windows: Splash Screen not showing", "status": { "description": "The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.", "name": "Closed", "id": "6", "statusCategory": { "id": 3, "key": "done", "colorName": "green", "name": "Done" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "1", "description": "A problem which impairs or prevents the functions of the product.", "name": "Bug", "subtask": false } } } } ], "assignee": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "updated": "2020-01-30T10:52:40.000+0000", "status": { "description": "The issue is open and ready for the assignee to start work on it.", "name": "Open", "id": "1", "statusCategory": { "id": 2, "key": "new", "colorName": "blue-gray", "name": "To Do" } }, "components": [ { "id": "13103", "name": "CLI", "description": "Node-based command line interface" } ], "description": "This probably includes TIMOB-19112.\r\n\r\nCompile the following Alloy app for the Windows SDK:\r\nhttps://github.com/appcelerator-developer-relations/appc-sample-ti410\r\n\r\nAs the first screenshot shows the {{Resources}} folder only has a {{windows}} folder.\r\n\r\nStill, as the second screenshots shows the {{build/windows/Assets}} folder has a {{iphone}} folder which can only have been copied straight from {{app/assets/iphone}}. Furthermore, while the compiled Alloy app from {{Resources/windows}} is there in the root, the icons and splash screens which where there as well are missing.", "attachment": [ { "id": "56012", "filename": "Screen Shot 2015-06-30 at 15.17.38.png", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-06-30T13:22:46.000+0000", "size": 42379, "mimeType": "image/png" }, { "id": "56011", "filename": "Screen Shot 2015-06-30 at 15.17.53.png", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-06-30T13:22:46.000+0000", "size": 108300, "mimeType": "image/png" }, { "id": "56045", "filename": "test.zip", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-07-01T18:51:34.000+0000", "size": 28388, "mimeType": "application/zip" } ], "flagged": false, "summary": "Platform-specific resources copied into builds for platforms not available in SDK/on OS", "creator": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "subtasks": [], "reporter": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "environment": "SDK 4.1.0 beta (4.1.0.v20150626223333)\r\nWindows Enterprise 8.1\r\nEmulator 8-1-1", "comment": { "comments": [ { "id": "356542", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "I think this may actually be an alloy issue, not a Windows CLI issue...", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2015-07-01T13:23:01.000+0000", "updated": "2015-07-01T13:23:01.000+0000" }, { "id": "356543", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Nope, it's not. I'm also seeing it with a classic project. The {{Resources/iphone}} folder is included in the Assets.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-07-01T13:29:13.000+0000", "updated": "2015-07-01T13:29:13.000+0000" }, { "id": "356593", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-07-01T18:52:56.000+0000", "updated": "2015-07-01T18:52:56.000+0000" }, { "id": "356636", "author": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "body": "OK, I think I know why.\r\n\r\nThe splash screen/branding stuff is covered in TIMOB-19112.\r\n\r\nDuring the build we copy the Resources folder, and we are supposed to ignore any root dirs matching any platform name. Then we copy Resources/windows over top.\r\n\r\nThe issue is that the listing of platform names is populated by reading the manifest in the SDK, which actually lists the SDKs packaged. On Windows, we don't package ios/iphone/ipad, so it's not in the listing of platform directory names to ignore. I assume an app that worked on blackberry or tizen would also suffer the same fate, since we no longer package and distribute them.\r\n\r\nThis is a general pattern issues with the CLI, not specific to Windows. We likely need to populate and re-use some special array of platform names, regardless of whether that platform is actually valid for this OS (or has been deprecated/removed). Otherwise we'll forever be copying tizen and blackberry resources into say iOS apps until the user removes those directories from their app.\r\n\r\nFor reference, here's where the list of platform names are \"generated\": https://github.com/appcelerator/titanium_mobile/blob/master/node_modules/titanium-sdk/lib/titanium.js#L31\r\n\r\nWhich reads the manifest.json file in the root of an SDK for it's platforms array.\r\n\r\nYou'll notice the ios CLI build command will suffer from the same issue if an app has windows specific resources and you build for iOS on a Mac (where \"windows\" is not in the manifest.json platforms array). The issue is here: https://github.com/appcelerator/titanium_mobile/blob/master/iphone/cli/commands/_build.js#L3501\r\n\r\nAnd Android: https://github.com/appcelerator/titanium_mobile/blob/master/android/cli/commands/_build.js#L2470", "updateAuthor": { "name": "cwilliams", "key": "cwilliams", "displayName": "Christopher Williams", "active": true, "timeZone": "America/New_York" }, "created": "2015-07-01T23:33:05.000+0000", "updated": "2015-07-01T23:33:05.000+0000" }, { "id": "356685", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Nice catch! And since we deprecate platforms (Tizen, BB..) it means we need to hard-code them in a config.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-07-02T07:09:13.000+0000", "updated": "2015-07-02T07:09:13.000+0000" } ], "maxResults": 5, "total": 5, "startAt": 0 } } }