{ "id": "149368", "key": "TIMOB-20207", "fields": { "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "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-07-02T06:33:47.000+0000", "priority": null, "labels": [], "versions": [], "issuelinks": [], "assignee": null, "updated": "2018-02-28T19:55:19.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": [], "description": "My initial ramblings from flowdock -- Titanium Contributors \r\n\r\n{quote}So the command I wish I could use is [appc] ti build --platform=iphone -D unit\r\nplatform could be either iphone,android, windows, what ever\r\nthe idea is I would want a duplicate of development\r\nbut not have it be called development and NOT encrypt my javascript.\r\ni see how I could do the pull request with titanium npm package. Question is, is that the correct place to do a pull request to essentially duplicate the development deploy type\r\nthis is probably a cbarber question, but I'm not going to @ him right now because I suspect people in California are asleep\r\nor.. is this going to end up being an ugly CLI hook where I beat titanium command into submission?\r\n1:22\r\neither way once this is possible, unit testing becomes HUGELY easier to deal with in titanium. It also opens up a legit out side in BDD loop for those that care\r\n{quote}\r\n\r\nAlso, I will be releasing a copy of Alloy Hunter which is fully ti mocha & ti calabash tested. \r\nIt will further demonstrate that going into package.json to change a value in env:development is really a sad state.\r\n\r\nI am tempted to create a CLI hook for this, but why? This really should be somnething that titanium can just do.\r\n\r\nThis would not be hard to accomplish. I already see how to do it. I just want to make sure I am not about to a pull request on a dead CLI.\r\n\r\nI'm not sure where the appc cli code is.", "attachment": [], "flagged": false, "summary": "create a unit or spec deploy type so that unit testing becomes trivial", "creator": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "any", "comment": { "comments": [ { "id": "356675", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "[~sophrinix] if what you want is to skip JS minification you can use the {{--skip-js-minify}} flag:\r\nhttp://docs.appcelerator.com/platform/latest/#!/guide/Titanium_Command-Line_Interface_Reference-section-35619828_TitaniumCommand-LineInterfaceReference-GenericBuildOptionsandFlags", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-07-02T06:37:10.000+0000", "updated": "2015-07-02T06:37:10.000+0000" }, { "id": "356676", "author": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "body": "but does minification equate to encryption? I'll test this, but the problem is when you encrypt the js you can recursively find it with a directory lookup and then require it.\r\nAKA this fails:\r\n\r\nvar require_path = 'specs/tests/';\r\nvar specs_dir = Ti.Filesystem.getFile(Ti.Filesystem.resourcesDirectory + require_path);\r\nvar spec_files = specs_dir.getDirectoryListing();\r\nfor (var i=0; iI wish jira supported markdown.", "updateAuthor": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-07-02T06:42:06.000+0000", "updated": "2015-07-02T06:50:06.000+0000" }, { "id": "356679", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "You are right, encryption is a separate setting you can't override via a CLI flag like you can with minification:\r\nhttps://github.com/appcelerator/titanium_mobile/blob/master/iphone/cli/commands/_build.js#L1064-L1066\r\n\r\nSo you could do a request and PR to add a {{--skip-js-encrypt}} flag.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-07-02T06:55:44.000+0000", "updated": "2015-07-02T06:55:44.000+0000" }, { "id": "356680", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "Or maybe even better, include an option to pass a custom json object with a deploy profile. I can see a use for overriding {{includeAllTiModules}} as well.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-07-02T06:57:12.000+0000", "updated": "2015-07-02T06:57:12.000+0000" }, { "id": "356682", "author": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "body": "I really just want the minimum required change. If I could have a second copy of development, but called something other than development. i'd be so happy. \r\nIt's really that simple.\r\n\r\nI'd sooner do a different pull request to change module include behavior.\r\nI could see having what I am talking about and then a second pull request where the module tags could accept some additional properties like such\r\n\r\n\r\n\t\t\tti.map\r\n\t\t\tti.map\r\n\t\t\tcom.sttts.exit\r\n \r\n\r\nthe default behavior would continue to be include the module with all envs, but if you specified a deploy-type then it would only include in that specific deploy-type env\r\n ( this of course is a separate issue)\r\n", "updateAuthor": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-07-02T07:04:26.000+0000", "updated": "2015-07-02T07:04:26.000+0000" }, { "id": "356683", "author": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "body": "I like that deployType-specific modules idea! But that would require the ability to add custom profiles.\r\n\r\nMaybe the {{--deployType}} option could also accept a JSON string that has the properties like the built-in, plus a name:\r\nhttps://github.com/appcelerator/titanium_mobile/blob/master/iphone/cli/commands/_build.js#L1055-L1061\r\n\r\nThen another change would be to check for the deployType when including modules.", "updateAuthor": { "name": "fokkezb", "key": "fokke", "displayName": "Fokke Zandbergen", "active": true, "timeZone": "Europe/Amsterdam" }, "created": "2015-07-02T07:07:29.000+0000", "updated": "2015-07-02T07:07:29.000+0000" }, { "id": "356684", "author": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "body": "the other problem with only having a --skip-js-encrypt option is that env:test apparently means you intend to deploy on a device but with a development provisioning profile. It would become confusing to use the test deploy type for more than it was intended for. I'd rather leave that behavior alone. \r\n\r\nNow if we wanted to do both your idea and my idea, I could see that, but just --skip-js-encrypt by itself is not enough.", "updateAuthor": { "name": "sophrinix", "key": "sophrinix", "displayName": "Andrew McElroy", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2015-07-02T07:08:23.000+0000", "updated": "2015-07-02T07:08:23.000+0000" } ], "maxResults": 9, "total": 9, "startAt": 0 } } }