[DAEMON-217] appcd-plugin-titanium-sdk: Titanium info service
| GitHub Issue | n/a |
|---|---|
| Type | New Feature |
| Priority | High |
| Status | Resolved |
| Resolution | Fixed |
| Resolution Date | 2018-01-10T17:15:33.000+0000 |
| Affected Version/s | n/a |
| Fix Version/s | Appc Daemon 1.1.0 |
| Components | appcd-plugin-titanium |
| Labels | n/a |
| Reporter | Chris Barber |
| Assignee | Chris Barber |
| Created | 2018-01-09T22:51:38.000+0000 |
| Updated | 2018-01-10T17:15:33.000+0000 |
Description
Create the
appcd-plugin-titanium-sdk plugin and the "info" service. The "info" service is to detect installed Titanium SDKs and modules.
[~cbarber] I know this is still a wip, but one thing I noticed is modules clobbering each other due to version numbers being used as a key
[~eharris] How so?
modulesis an object keyed with the platform names, then sub-objects keyed with the version. It's the same as what's on disk.That's not how the code reads/what I'm seeing. I have a 2.2.0 of hyperloop and ti.touchid on disk. But due to it being [modules\[module.platform\]\[module.version\] = module;](https://github.com/appcelerator/appcd-plugin-titanium-sdk/blob/2396f74359e734867166d755df73d6e6a485bbc6/src/info-service.js#L197), touchid clobbers hyperloop, should it be
modules\[module.platform\]\[module.manifest.name\][module.version\]?{ "1.0.0": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\ti.touchid\\1.0.0", "platform": "android", "version": "1.0.0", "manifest": { "version": "1.0.0", "apiversion": "2", "architectures": "armeabi armeabi-v7a x86", "description": "Fingerprint module.", "author": "Hieu Pham", "license": "Apache Public License v2", "copyright": "Copyright (c) 2016 by Appcelerator, Inc.", "name": "touchid", "moduleid": "ti.touchid", "guid": "f0d8fd44-86d2-4730-b67d-bd454577aeee", "platform": "android", "minsdk": "5.4.0" } }, "1.2.8": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\hyperloop\\1.2.8", "platform": "android", "version": "1.2.8", "manifest": { "version": "1.2.8", "apiversion": "2", "architectures": "armeabi armeabi-v7a x86", "description": "hyperloop-android", "author": "Appcelerator", "license": "Appcelerator Commercial License", "copyright": "Copyright (c) 2016 Appcelerator, Inc.", "name": "hyperloop-android", "moduleid": "hyperloop", "guid": "bdaca69f-b316-4ce6-9065-7a61e1dafa39", "platform": "android", "minsdk": "5.4.0" } }, "2.0.0": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\ti.identity\\2.0.0", "platform": "android", "version": "2.0.0", "manifest": { "version": "2.0.0", "apiversion": "4", "architectures": "arm64-v8a armeabi-v7a x86", "description": "titanium-identity", "author": "Hans Knoechel", "license": "Specify your license", "copyright": "Copyright (c) 2017 by Your Company", "name": "titanium-identity", "moduleid": "ti.identity", "guid": "c3d987a8-8bd4-42cd-a3e4-2a75952d1ea0", "platform": "android", "minsdk": "7.0.0" } }, "2.0.1": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\ti.touchid\\2.0.1", "platform": "android", "version": "2.0.1", "manifest": { "version": "2.0.1", "apiversion": "3", "architectures": "armeabi-v7a x86", "description": "Fingerprint module.", "author": "Hieu Pham", "license": "Apache Public License v2", "copyright": "Copyright (c) 2016 by Appcelerator, Inc.", "name": "touchid", "moduleid": "ti.touchid", "guid": "f0d8fd44-86d2-4730-b67d-bd454577aeee", "platform": "android", "minsdk": "6.0.0" } }, "2.1.0": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\ti.touchid\\2.1.0", "platform": "android", "version": "2.1.0", "manifest": { "version": "2.1.0", "apiversion": "3", "architectures": "armeabi-v7a x86", "description": "Fingerprint module.", "author": "Hieu Pham", "license": "Apache Public License v2", "copyright": "Copyright (c) 2016 by Appcelerator, Inc.", "name": "touchid", "moduleid": "ti.touchid", "guid": "f0d8fd44-86d2-4730-b67d-bd454577aeee", "platform": "android", "minsdk": "6.0.0" } }, "2.1.2": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\hyperloop\\2.1.2", "platform": "android", "version": "2.1.2", "manifest": { "version": "2.1.2", "apiversion": "3", "architectures": "armeabi-v7a x86", "description": "hyperloop-android", "author": "Appcelerator", "license": "Appcelerator Commercial License", "copyright": "Copyright (c) 2016 Appcelerator, Inc.", "name": "hyperloop-android", "moduleid": "hyperloop", "guid": "bdaca69f-b316-4ce6-9065-7a61e1dafa39", "platform": "android", "minsdk": "6.0.0" } }, "2.1.3": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\hyperloop\\2.1.3", "platform": "android", "version": "2.1.3", "manifest": { "version": "2.1.3", "apiversion": "3", "architectures": "armeabi-v7a x86", "description": "hyperloop-android", "author": "Appcelerator", "license": "Appcelerator Commercial License", "copyright": "Copyright (c) 2016 Appcelerator, Inc.", "name": "hyperloop-android", "moduleid": "hyperloop", "guid": "bdaca69f-b316-4ce6-9065-7a61e1dafa39", "platform": "android", "minsdk": "6.0.0" } }, "2.2.0": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\ti.touchid\\2.2.0", "platform": "android", "version": "2.2.0", "manifest": { "version": "2.2.0", "apiversion": "3", "architectures": "armeabi-v7a x86", "description": "Fingerprint module.", "author": "Hieu Pham", "license": "Apache Public License v2", "copyright": "Copyright (c) 2017 by Axway", "name": "touchid", "moduleid": "ti.touchid", "guid": "f0d8fd44-86d2-4730-b67d-bd454577aeee", "platform": "android", "minsdk": "6.0.0" } }, "2.2.2": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\hyperloop\\2.2.2", "platform": "android", "version": "2.2.2", "manifest": { "version": "2.2.2", "apiversion": "3", "architectures": "armeabi-v7a x86", "description": "hyperloop-android", "author": "Appcelerator", "license": "Appcelerator Commercial License", "copyright": "Copyright (c) 2016 Appcelerator, Inc.", "name": "hyperloop-android", "moduleid": "hyperloop", "guid": "bdaca69f-b316-4ce6-9065-7a61e1dafa39", "platform": "android", "minsdk": "6.0.0" } }, "2.3.10": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\ti.map\\2.3.10", "platform": "android", "version": "2.3.10", "manifest": { "version": "2.3.10", "apiversion": "2", "architectures": "armeabi armeabi-v7a x86", "description": "External version of Map module to support new Google Map v2 sdk", "author": "Hieu Pham", "license": "Apache Public License v2", "copyright": "Copyright (c) 2013-2016 by Appcelerator, Inc.", "name": "map", "moduleid": "ti.map", "guid": "f0d8fd44-86d2-4730-b67d-bd454577aeee", "platform": "android", "minsdk": "4.1.0", "respackage": "com.google.android.gms" } }, "3.0.0": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\ti.touchid\\3.0.0", "platform": "android", "version": "3.0.0", "manifest": { "version": "3.0.0", "apiversion": "4", "architectures": "arm64-v8a armeabi-v7a x86", "description": "Fingerprint module.", "author": "Hieu Pham", "license": "Apache Public License v2", "copyright": "Copyright (c) 2017 by Axway", "name": "touchid", "moduleid": "ti.touchid", "guid": "f0d8fd44-86d2-4730-b67d-bd454577aeee", "platform": "android", "minsdk": "7.0.0" } }, "3.0.1": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\ti.map\\3.0.1", "platform": "android", "version": "3.0.1", "manifest": { "version": "3.0.1", "apiversion": "3", "architectures": "armeabi-v7a x86", "description": "External version of Map module to support new Google Map v2 sdk", "author": "Hieu Pham", "license": "Apache Public License v2", "copyright": "Copyright (c) 2013-2016 by Appcelerator, Inc.", "name": "map", "moduleid": "ti.map", "guid": "f0d8fd44-86d2-4730-b67d-bd454577aeee", "platform": "android", "minsdk": "6.0.0", "respackage": "com.google.android.gms" } }, "3.1.1": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\ti.map\\3.1.1", "platform": "android", "version": "3.1.1", "manifest": { "version": "3.1.1", "apiversion": "3", "architectures": "armeabi-v7a x86", "description": "External version of Map module to support new Google Map v2 sdk", "author": "Hieu Pham", "license": "Apache Public License v2", "copyright": "Copyright (c) 2013-2016 by Appcelerator, Inc.", "name": "map", "moduleid": "ti.map", "guid": "f0d8fd44-86d2-4730-b67d-bd454577aeee", "platform": "android", "minsdk": "6.0.0", "respackage": "com.google.android.gms" } }, "3.3.0": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\ti.map\\3.3.0", "platform": "android", "version": "3.3.0", "manifest": { "version": "3.3.0", "apiversion": "3", "architectures": "armeabi-v7a x86", "description": "External version of Map module to support new Google Map v2 sdk", "author": "Hieu Pham", "license": "Apache Public License v2", "copyright": "Copyright (c) 2013-2017 by Appcelerator, Inc.", "name": "map", "moduleid": "ti.map", "guid": "f0d8fd44-86d2-4730-b67d-bd454577aeee", "platform": "android", "minsdk": "6.0.0", "respackage": "com.google.android.gms" } }, "3.3.1": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\ti.map\\3.3.1", "platform": "android", "version": "3.3.1", "manifest": { "version": "3.3.1", "apiversion": "3", "architectures": "armeabi-v7a x86", "description": "External version of Map module to support new Google Map v2 sdk", "author": "Hieu Pham", "license": "Apache Public License v2", "copyright": "Copyright (c) 2013-2017 by Appcelerator, Inc.", "name": "map", "moduleid": "ti.map", "guid": "f0d8fd44-86d2-4730-b67d-bd454577aeee", "platform": "android", "minsdk": "6.0.0", "respackage": "com.google.android.gms" } }, "3.4.1": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\ti.cloudpush\\3.4.1", "platform": "android", "version": "3.4.1", "manifest": { "version": "3.4.1", "apiversion": "2", "architectures": "armeabi armeabi-v7a x86", "description": "ACS Push notifications for Android", "author": "Dawson Toth, Jeff English, Paul Lv and Jon Alter", "license": "Appcelerator Commercial License", "copyright": "Copyright (c) 2012-2014 by Appcelerator, Inc.", "name": "cloudpush", "moduleid": "ti.cloudpush", "guid": "2d542783-c83c-4597-bd61-1073aa16ece2", "platform": "android", "minsdk": "5.0.0.GA" } }, "4.0.0": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\ti.map\\4.0.0", "platform": "android", "version": "4.0.0", "manifest": { "version": "4.0.0", "apiversion": "4", "architectures": "arm64-v8a armeabi-v7a x86", "description": "External version of Map module to support new Google Map v2 sdk", "author": "Hieu Pham", "license": "Apache Public License v2", "copyright": "Copyright (c) 2013-2017 by Axway, Inc.", "name": "map", "moduleid": "ti.map", "guid": "f0d8fd44-86d2-4730-b67d-bd454577aeee", "platform": "android", "minsdk": "7.0.0", "respackage": "com.google.android.gms" } }, "4.0.3": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\ti.cloudpush\\4.0.3", "platform": "android", "version": "4.0.3", "manifest": { "version": "4.0.3", "apiversion": "3", "architectures": "armeabi-v7a x86", "description": "ACS Push notifications for Android", "author": "Dawson Toth, Jeff English, Paul Lv and Jon Alter", "license": "Appcelerator Commercial License", "copyright": "Copyright (c) 2012-2016 by Appcelerator, Inc.", "name": "cloudpush", "moduleid": "ti.cloudpush", "guid": "2d542783-c83c-4597-bd61-1073aa16ece2", "platform": "android", "minsdk": "6.0.0" } }, "4.0.4": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\ti.cloudpush\\4.0.4", "platform": "android", "version": "4.0.4", "manifest": { "version": "4.0.4", "apiversion": "3", "architectures": "armeabi-v7a x86", "description": "ACS Push notifications for Android", "author": "Dawson Toth, Jeff English, Paul Lv and Jon Alter", "license": "Appcelerator Commercial License", "copyright": "Copyright (c) 2012-2016 by Appcelerator, Inc.", "name": "cloudpush", "moduleid": "ti.cloudpush", "guid": "2d542783-c83c-4597-bd61-1073aa16ece2", "platform": "android", "minsdk": "6.0.0" } }, "5.0.0": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\ti.cloudpush\\5.0.0", "platform": "android", "version": "5.0.0", "manifest": { "version": "5.0.0", "apiversion": "4", "architectures": "arm64-v8a armeabi-v7a x86", "description": "ACS Push notifications for Android", "author": "Dawson Toth, Jeff English, Paul Lv and Jon Alter", "license": "Appcelerator Commercial License", "copyright": "Copyright (c) 2012-2017 by Axway, Inc.", "name": "cloudpush", "moduleid": "ti.cloudpush", "guid": "2d542783-c83c-4597-bd61-1073aa16ece2", "platform": "android", "minsdk": "7.0.0" } }, "5.0.1": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\ti.cloudpush\\5.0.1", "platform": "android", "version": "5.0.1", "manifest": { "version": "5.0.1", "apiversion": "4", "architectures": "arm64-v8a armeabi-v7a x86", "description": "ACS Push notifications for Android", "author": "Dawson Toth, Jeff English, Paul Lv and Jon Alter", "license": "Appcelerator Commercial License", "copyright": "Copyright (c) 2012-2017 by Axway, Inc.", "name": "cloudpush", "moduleid": "ti.cloudpush", "guid": "2d542783-c83c-4597-bd61-1073aa16ece2", "platform": "android", "minsdk": "7.0.0" } }, "5.2.0": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\facebook\\5.2.0", "platform": "android", "version": "5.2.0", "manifest": { "version": "5.2.0", "apiversion": "2", "architectures": "armeabi armeabi-v7a x86", "description": "facebook", "author": "Mark Mokryn and Ashraf A. S. (Appcelerator)", "license": "Apache License Version 2.0", "copyright": "Copyright (c) 2014 by Mark Mokryn, Copyright (c) 2009-2016 by Appcelerator", "respackage": "com.facebook", "name": "Facebook", "moduleid": "facebook", "guid": "e4f7ac61-1ee7-44c5-bc27-fa6876e2dce9", "platform": "android", "minsdk": "5.0.0.GA" } }, "6.0.1": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\facebook\\6.0.1", "platform": "android", "version": "6.0.1", "manifest": { "version": "6.0.1", "apiversion": "3", "architectures": "armeabi-v7a x86", "description": "facebook", "author": "Mark Mokryn and Ashraf A. S. (Appcelerator)", "license": "Apache License Version 2.0", "copyright": "Copyright (c) 2014 by Mark Mokryn, Copyright (c) 2009-2016 by Appcelerator", "respackage": "com.facebook", "name": "Facebook", "moduleid": "facebook", "guid": "e4f7ac61-1ee7-44c5-bc27-fa6876e2dce9", "platform": "android", "minsdk": "6.0.0" } }, "6.2.0": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\facebook\\6.2.0", "platform": "android", "version": "6.2.0", "manifest": { "version": "6.2.0", "apiversion": "3", "architectures": "armeabi-v7a x86", "description": "facebook", "author": "Mark Mokryn and Ashraf A. S. (Appcelerator)", "license": "Apache License Version 2.0", "copyright": "Copyright (c) 2014 by Mark Mokryn, Copyright (c) 2009-2017 by Appcelerator", "respackage": "com.facebook", "name": "Facebook", "moduleid": "facebook", "guid": "e4f7ac61-1ee7-44c5-bc27-fa6876e2dce9", "platform": "android", "minsdk": "6.0.0" } }, "7.0.0": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\facebook\\7.0.0", "platform": "android", "version": "7.0.0", "manifest": { "version": "7.0.0", "apiversion": "4", "architectures": "arm64-v8a armeabi-v7a x86", "description": "facebook", "author": "Mark Mokryn and Ashraf A. S. (Appcelerator)", "license": "Apache License Version 2.0", "copyright": "Copyright (c) 2014 by Mark Mokryn, Copyright (c) 2009-present by Appcelerator", "name": "Facebook", "moduleid": "facebook", "guid": "e4f7ac61-1ee7-44c5-bc27-fa6876e2dce9", "platform": "android", "minsdk": "7.0.0" } }, "11.0.40": { "path": "C:\\ProgramData\\Titanium\\modules\\android\\ti.playservices\\11.0.40", "platform": "android", "version": "11.0.40", "manifest": { "version": "11.0.40", "apiversion": "4", "architectures": "arm64-v8a armeabi-v7a x86", "description": "Titanium Google Play Services module.", "license": "Apache Public License v2", "copyright": "Copyright (c) 2017 by Axway Appcelerator", "name": "playservices", "moduleid": "ti.playservices", "guid": "32184149-411f-436b-92a8-c6ddb98a5fb6", "platform": "android", "minsdk": "7.0.0" } } }Doh! OK, thanks!