{ "id": "106293", "key": "TIMOB-12025", "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": "2012-12-11T20:34:07.000+0000", "priority": { "name": "High", "id": "2" }, "labels": [ "cb-tooling", "notable", "qe-cli100112", "qe-nfc", "titaniumlib" ], "versions": [ { "id": "13505", "description": "Release 3.0.0", "name": "Release 3.0.0", "archived": true, "released": true, "releaseDate": "2012-12-14" } ], "issuelinks": [ { "id": "30585", "type": { "id": "10000", "name": "Blocks", "inward": "is blocked by", "outward": "blocks" }, "outwardIssue": { "id": "101986", "key": "TIMOB-11120", "fields": { "summary": "Android: Expose a way for users to exclude js files from being encrypted.", "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": "Low", "id": "4" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "30517", "type": { "id": "10000", "name": "Blocks", "inward": "is blocked by", "outward": "blocks" }, "outwardIssue": { "id": "111461", "key": "TISTUD-5185", "fields": { "summary": "Studio: Ability to configure custom options for the Titanium builder in Run Configurations", "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": "Low", "id": "4" }, "issuetype": { "id": "4", "description": "An improvement or enhancement to an existing feature or task.", "name": "Improvement", "subtask": false } } } }, { "id": "36733", "type": { "id": "10020", "name": "Depends", "inward": "is dependent of", "outward": "depends on" }, "inwardIssue": { "id": "129242", "key": "TIMOB-16869", "fields": { "summary": "CLI: Allow build configuration overrides in the tiapp.xml", "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": "Low", "id": "4" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "36736", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "outwardIssue": { "id": "129243", "key": "TIMOB-16870", "fields": { "summary": "CLI: Expose build configuration via command line options", "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": "Low", "id": "4" }, "issuetype": { "id": "2", "description": "A new feature of the product, which has yet to be developed.", "name": "New Feature", "subtask": false } } } }, { "id": "58213", "type": { "id": "10003", "name": "Relates", "inward": "relates to", "outward": "relates to" }, "inwardIssue": { "id": "171283", "key": "DAEMON-243", "fields": { "summary": "Create titaniumlib with tiapp.xml parsing, sdk and module detection logic", "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": "Critical", "id": "1" }, "issuetype": { "id": "7", "description": "gh.issue.story.desc", "name": "Story", "subtask": false } } } } ], "assignee": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "updated": "2020-03-06T21:36:22.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": "CLI: Allow Multiple Build Outputs, this would later be integrated into the Titanium Studio UI.\r\n\r\nHere is a user story:\r\n\r\n{code}\r\nWould be *really* nice if we could build into build configs different rules before the app is built. \r\n\r\nE.g working for a client with different apps for language variants. So they don't want one app multi-language but separate fixed language builds. \r\n\r\nCould be easily achievable if I had the ability to say:-\r\n\r\nFor GB config use this info.plist, this XML file, this assets folder (videos, audios and images that's are English)\r\n\r\nFor the same project I do a DE build script that uses other folders. \r\n\r\nResult is one codebase, two separate build outputs and it remains nicely compatible with Git\r\n\r\nEven an \"ignore these files/folders\" would help\r\n{code}\r\n\r\nThis ticket is phase 1 of 3 phases:\r\n\r\n1. Decouple settings from the deploy type and expose the defaults in an XML file that is in the SDK (this ticket)\r\n2. Allow setting overrides in the tiapp.xml (TIMOB-16869)\r\n3. Expose build configurations via command line options that allow selection of custom build configuration (TIMOB-16870)\r\n\r\nHere's an example of the default settings:\r\n\r\n{code}\r\n\r\n \r\n development\r\n false\r\n false\r\n false\r\n false\r\n false\r\n false\r\n true\r\n true\r\n true\r\n \r\n \r\n test\r\n true\r\n true\r\n true\r\n false\r\n true\r\n true\r\n true\r\n true\r\n true\r\n \r\n \r\n production\r\n true\r\n true\r\n true\r\n false\r\n true\r\n true\r\n false\r\n false\r\n false\r\n \r\n\r\n{code}", "attachment": [], "flagged": false, "summary": "CLI: Support build configurations to allow multiple build outputs", "creator": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "subtasks": [], "reporter": { "name": "dhyde", "key": "dhyde", "displayName": "Dustin Hyde", "active": true, "timeZone": "America/Los_Angeles" }, "environment": "Titanium CLI: 3.0.21\r\nTitanium Studio: 3.0.0", "comment": { "comments": [ { "id": "230920", "author": { "name": "bitshftr", "key": "bitshftr", "displayName": "Shawn Lipscomb", "active": true, "timeZone": "America/New_York" }, "body": "Another use for this, other than internationalization, would be where a base app is \"branded\" for multiple clients. The code base is the same (or close to the same), but the assets are unique for each client.\r\n\r\nI think this is a great idea for productivity. Not limited to internationalization.", "updateAuthor": { "name": "bitshftr", "key": "bitshftr", "displayName": "Shawn Lipscomb", "active": true, "timeZone": "America/New_York" }, "created": "2012-12-11T21:04:02.000+0000", "updated": "2012-12-11T21:04:02.000+0000" }, { "id": "230989", "author": { "name": "jasonkneen", "key": "jasonkneen", "displayName": "Jason Kneen", "active": true, "timeZone": "Europe/London" }, "body": "Absolutely - my original thought was not just for internationalisation - your example is precisely what sort this would allow. e.g. Full / lite versions etc. Also some sort of inheritance based build config would be cool e.g. to allow for Lite / Full versions.\r\n\r\n \r\n\r\n", "updateAuthor": { "name": "jasonkneen", "key": "jasonkneen", "displayName": "Jason Kneen", "active": true, "timeZone": "Europe/London" }, "created": "2012-12-12T01:16:09.000+0000", "updated": "2012-12-12T01:16:09.000+0000" }, { "id": "231205", "author": { "name": "mschmulen", "key": "mschmulen", "displayName": "Matt Schmulen", "active": true, "timeZone": "America/Los_Angeles" }, "body": "bump ^^", "updateAuthor": { "name": "mschmulen", "key": "mschmulen", "displayName": "Matt Schmulen", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2012-12-13T14:49:32.000+0000", "updated": "2012-12-13T14:49:32.000+0000" }, { "id": "256095", "author": { "name": "bitshftr", "key": "bitshftr", "displayName": "Shawn Lipscomb", "active": true, "timeZone": "America/New_York" }, "body": "Still looking for this feature. I really could have used an \"ignore these files/folders\" in the app I'm working on now.", "updateAuthor": { "name": "bitshftr", "key": "bitshftr", "displayName": "Shawn Lipscomb", "active": true, "timeZone": "America/New_York" }, "created": "2013-06-05T12:23:44.000+0000", "updated": "2013-06-05T12:23:44.000+0000" }, { "id": "256160", "author": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "body": "@Shawn, there is no spec for this and there is no time to develop it for 3.2, hence it's been re-prioritized as low priority.", "updateAuthor": { "name": "cbarber", "key": "cbarber", "displayName": "Chris Barber", "active": true, "timeZone": "America/Chicago" }, "created": "2013-06-05T17:22:17.000+0000", "updated": "2013-06-05T17:22:17.000+0000" }, { "id": "298272", "author": { "name": "mattapperson", "key": "mattapperson", "displayName": "me@gmail.com", "active": true, "timeZone": "America/Los_Angeles" }, "body": "bump", "updateAuthor": { "name": "mattapperson", "key": "mattapperson", "displayName": "me@gmail.com", "active": true, "timeZone": "America/Los_Angeles" }, "created": "2014-03-21T20:21:01.000+0000", "updated": "2014-03-21T20:21:01.000+0000" }, { "id": "311436", "author": { "name": "jerodfritz", "key": "jerodfritz", "displayName": "Jerod Fritz", "active": true, "timeZone": "America/New_York" }, "body": "+1", "updateAuthor": { "name": "jerodfritz", "key": "jerodfritz", "displayName": "Jerod Fritz", "active": true, "timeZone": "America/New_York" }, "created": "2014-06-27T22:33:17.000+0000", "updated": "2014-06-27T22:33:17.000+0000" } ], "maxResults": 7, "total": 7, "startAt": 0 } } }