{ "id": "163001", "key": "TIMOB-23864", "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": [ { "id": "16980", "description": "New V8", "name": "Release 6.0.0", "archived": false, "released": true, "releaseDate": "2016-11-15" }, { "id": "18310", "name": "node-appc 0.2.37", "archived": false, "released": true, "releaseDate": "2016-09-07" } ], "resolution": { "id": "1", "description": "A fix for this issue is checked into the tree and tested.", "name": "Fixed" }, "resolutiondate": "2016-09-19T17:12:02.000+0000", "created": "2016-09-05T10:02:09.000+0000", "priority": { "name": "Critical", "id": "1" }, "labels": [ "qe-6.0.0" ], "versions": [ { "id": "16980", "description": "New V8", "name": "Release 6.0.0", "archived": false, "released": true, "releaseDate": "2016-11-15" } ], "issuelinks": [ { "id": "52621", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "163003", "key": "TISTUD-8581", "fields": { "summary": "Be more 'vocal' when warning a user using an incompatible module", "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" } }, "priority": { "name": "None", "id": "6" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "52620", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "161285", "key": "TIMOB-23550", "fields": { "summary": "CLI: Use platform-specific moduleApiVersions and enforce them in lookup of modules", "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" } }, "priority": { "name": "High", "id": "2" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } } ], "assignee": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "updated": "2016-09-19T18:33:20.000+0000", "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" } }, "components": [ { "id": "10202", "name": "Android", "description": "Android Platform" }, { "id": "13103", "name": "CLI", "description": "Node-based command line interface" }, { "id": "10207", "name": "Tooling" } ], "description": "h5.Description\r\n\r\nWhen building using a 6.0.0 SDK and an old module that is incompatible with this SDK i.e the apiversion of the module is 2 the build process will not error out on the module check and the app will build and attempt to launch on device, but will not open.\r\n\r\n*Notes*\r\n\r\nThe inverse of the situation does not happen as the CLI only enforces the minsdk value from the manifest and not the apiversion\r\n\r\nh5.Steps to reproduce\r\n *These steps assume you have the same versions on your machine, correct as needed*\r\n# Edit the tiapp.xml modules section to include the following {{ti.map}}\r\n# Include ti.map in your project by adding {{var map = require('ti.map')}}\r\n# Ensure you are building with a 6.0.0 SDK\r\n# Build the project using {{appc run -p android -T device}}\r\n\r\nh5.Actual result\r\n\r\nThe project will build successfully, the app will attempt to launch on device but fail\r\n\r\nh5.Expected result\r\n\r\nAs the module is incompatible with 6.0.0, the build process should fail", "attachment": [], "flagged": false, "summary": "CLI: Build process does not exit if using an incompatible module based on apiversion", "creator": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "subtasks": [], "reporter": { "name": "eharris", "key": "eharris", "displayName": "Ewan Harris", "active": true, "timeZone": "Europe/Dublin" }, "environment": "OS: Mac OS X 10.11.6\r\nAppc core: 6.0.0-38\r\nAppc NPM: 4.2.8-6\r\nTi SDK: 6.0.0.v20160904203840\r\nAppc Studio: 4.8.0.201609010918", "closedSprints": [ { "id": 705, "state": "closed", "name": "2016 Sprint 18 Tooling", "startDate": "2016-08-27T00:16:26.485Z", "endDate": "2016-09-10T00:16:00.000Z", "completeDate": "2016-09-13T20:21:37.063Z", "originBoardId": 199 } ], "comment": { "comments": [ { "id": "395542", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "node-appc PR: https://github.com/appcelerator/node-appc/pull/118", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2016-09-07T21:46:51.000+0000", "updated": "2016-09-07T21:46:51.000+0000" }, { "id": "395551", "author": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "body": "Master: https://github.com/appcelerator/titanium_mobile/pull/8325\r\n6_0_X: https://github.com/appcelerator/titanium_mobile/pull/8324\r\n", "updateAuthor": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "created": "2016-09-07T22:57:32.000+0000", "updated": "2016-09-07T22:57:32.000+0000" }, { "id": "396239", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "[~fmiao], I get the debug log {code} [DEBUG] Found incompatible Titanium module id=ti.map version=2.3.10 platform=android deploy-type=test\r\n{code}if an incompatible module is used. But should we use more vocal log like warn/error.\r\n\r\nAlso, I get this error, Not sure where this comes from:\r\n{code}[ERROR] : Could not find all required Titanium Modules:\r\n[ERROR] : id: ti.map\t version: 2.3.10\t platform: android\t deploy-type: test{code}\r\nThis defeats the purpose of showing the debug log.\r\n\r\nFull log:\r\n{code}\r\n[DEBUG] : Looking for Titanium module id=ti.map version=2.3.10 platform=android deploy-type=test\r\n[DEBUG] : Found incompatible Titanium module id=ti.map version=2.3.10 platform=android deploy-type=test\r\n[DEBUG] : Module ti.map has apiversion=2, but the selected SDK supports module apiversion=3 on platform=android\r\n[WARN] : Could not find a valid Titanium module id=ti.map version=2.3.10 platform=android deploy-type=test\r\n[ERROR] : Could not find all required Titanium Modules:\r\n[ERROR] : id: ti.map\t version: 2.3.10\t platform: android\t deploy-type: test\r\n{code}", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-09-15T17:52:45.000+0000", "updated": "2016-09-15T17:56:05.000+0000" }, { "id": "396242", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "So, all that we need to do is edit {{builder.js}} and in {{validateTiModules()}}, add the {{api-version}} to the error output.\r\n\r\nFirst we need to do:\r\n\r\n{code}\r\nvar moduleAPIVersion = ti.manifest.moduleAPIVersion && ti.manifest.moduleAPIVersion[platformName];\r\n{code}\r\n\r\nThen add the following to the missing and incompatible module list {{console.log()}} calls:\r\n\r\n{code}\r\n(moduleAPIVersion ? '\\t api-version: ' + moduleAPIVersion : '')\r\n{code}", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2016-09-15T18:25:12.000+0000", "updated": "2016-09-15T18:25:12.000+0000" }, { "id": "396245", "author": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "body": "The error output is from [modules.missing.length|https://github.com/appcelerator/titanium_mobile/blob/master/node_modules/titanium-sdk/lib/builder.js#L355], although under this case it should go into [modules.incompatible.length|https://github.com/appcelerator/titanium_mobile/blob/master/node_modules/titanium-sdk/lib/builder.js#L364].", "updateAuthor": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "created": "2016-09-15T18:56:15.000+0000", "updated": "2016-09-15T18:56:15.000+0000" }, { "id": "396247", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "[~fmiao] You did put it under incompatible modules. :)\r\n\r\nhttps://github.com/appcelerator/node-appc/blob/dfd8dc5cab6f4978c9d4d5da85a8fd1b9ef1a79a/lib/timodule.js#L304", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2016-09-15T19:25:03.000+0000", "updated": "2016-09-15T19:25:03.000+0000" }, { "id": "396540", "author": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "body": "Fixed node-appc@0.2.38. \r\n\r\nBuild should fail with following message:\r\n{code}\r\n[ERROR] : Found incompatible Titanium Modules:\r\n[ERROR] : id: hyperloop\t version: 1.2.7\t platform: android\t min sdk: 5.4.0\r\n{code}", "updateAuthor": { "name": "fmiao", "key": "fmiao", "displayName": "Feon Sua Xin Miao", "active": true, "timeZone": "America/Vancouver" }, "created": "2016-09-19T17:12:02.000+0000", "updated": "2016-09-19T17:12:02.000+0000" }, { "id": "396554", "author": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "body": "Verified the fix.\r\n\r\nClosing.\r\n\r\nEnvironment:\r\nAppc Studio : 4.8.0.201609101003\r\nTi SDK : 6.0.0.v20160919100523\r\nTi CLI : 5.0.9\r\nAlloy : 1.9.1\r\nMAC El Capitan : 10.11.6\r\nAppc NPM : 4.2.8-6\r\nAppc CLI : 6.0.0-46\r\nNode: 4.4.4\r\nNexus 6 - Android 6.0.1", "updateAuthor": { "name": "lchoudhary", "key": "lchoudhary", "displayName": "Lokesh Choudhary", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2016-09-19T18:33:13.000+0000", "updated": "2016-09-19T18:33:13.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }