diff --git a/platform/commonUI/about/bundle.json b/platform/commonUI/about/bundle.json index 142241449c..88a43b5eb3 100644 --- a/platform/commonUI/about/bundle.json +++ b/platform/commonUI/about/bundle.json @@ -31,6 +31,11 @@ "key": "AboutController", "depends": [ "versions[]", "$window" ], "implementation": "AboutController.js" + }, + { + "key": "LicenseController", + "depends": [ "licenses[]" ], + "implementation": "LicenseController.js" } ], "routes": [ diff --git a/platform/commonUI/about/res/templates/licenses.html b/platform/commonUI/about/res/templates/licenses.html index c3af087cd9..9aafaa22f1 100644 --- a/platform/commonUI/about/res/templates/licenses.html +++ b/platform/commonUI/about/res/templates/licenses.html @@ -1 +1,33 @@ -Placeholder for open source licenses. \ No newline at end of file + + +
+ +

+ This software includes components released under the following licenses. +

+ + + + + + + + + + + + + + + + + + + + +
NameVersionAuthorDescriptionLicense
{{license.name}}{{license.version}}{{license.author}}{{license.description}}{{license.license}}
+
\ No newline at end of file diff --git a/platform/commonUI/about/src/LicenseController.js b/platform/commonUI/about/src/LicenseController.js new file mode 100644 index 0000000000..4fd707b7bf --- /dev/null +++ b/platform/commonUI/about/src/LicenseController.js @@ -0,0 +1,27 @@ +/*global define*/ + +define( + [], + function () { + "use strict"; + + /** + * Provides extension-introduced licenses information to the + * licenses route. + * @constructor + */ + function LicenseController(licenses) { + return { + /** + * Get license information. + * @returns {Array} license extensions + */ + licenses: function () { + return licenses; + } + }; + } + + return LicenseController; + } +); \ No newline at end of file diff --git a/platform/commonUI/about/test/LicenseControllerSpec.js b/platform/commonUI/about/test/LicenseControllerSpec.js new file mode 100644 index 0000000000..b7afe03b43 --- /dev/null +++ b/platform/commonUI/about/test/LicenseControllerSpec.js @@ -0,0 +1,30 @@ +/*global define,Promise,describe,it,expect,beforeEach,waitsFor,jasmine*/ + +define( + ['../src/LicenseController'], + function (LicenseController) { + "use strict"; + + describe("The License controller", function () { + var testLicenses, + controller; + + beforeEach(function () { + testLicenses = [ + { name: "A" }, + { name: "B" }, + { name: "C" } + ]; + controller = new LicenseController(testLicenses); + }); + + it("exposes license information", function () { + // LicenseController is just there to pass licenses[] + // extensions down to the template. + expect(controller.licenses()).toEqual(testLicenses); + }); + + }); + + } +); \ No newline at end of file diff --git a/platform/commonUI/about/test/suite.json b/platform/commonUI/about/test/suite.json index e626ff9b7a..7b3b90142a 100644 --- a/platform/commonUI/about/test/suite.json +++ b/platform/commonUI/about/test/suite.json @@ -1,4 +1,5 @@ [ "AboutController", + "LicenseController", "LogoController" ] \ No newline at end of file diff --git a/platform/commonUI/browse/bundle.json b/platform/commonUI/browse/bundle.json index 613164573a..d4e7a85036 100644 --- a/platform/commonUI/browse/bundle.json +++ b/platform/commonUI/browse/bundle.json @@ -119,6 +119,26 @@ "implementation": "creation/CreateActionProvider.js", "depends": [ "typeService", "dialogService", "creationService" ] } + ], + "licenses": [ + { + "name": "screenfull.js", + "version": "1.2.0", + "description": "Wrapper for cross-browser usage of fullscreen API.", + "author": "Sindre Sorhus", + "website": "https://github.com/sindresorhus/screenfull.js/", + "license": "MIT", + "link": "https://github.com/sindresorhus/screenfull.js/blob/gh-pages/license" + }, + { + "name": "Math.uuid.js", + "version": "1.4", + "description": "Unique identifer generation (code adapted.)", + "author": "Robert Kieffer", + "website": "https://github.com/broofa/node-uuid", + "license": "MIT", + "link": "http://opensource.org/licenses/MIT" + } ] } } \ No newline at end of file diff --git a/platform/commonUI/general/bundle.json b/platform/commonUI/general/bundle.json index 00e73a1568..9ca5549096 100644 --- a/platform/commonUI/general/bundle.json +++ b/platform/commonUI/general/bundle.json @@ -152,6 +152,26 @@ "templateUrl": "templates/controls/switcher.html", "uses": [ "view" ] } + ], + "licenses": [ + { + "name": "Modernizr", + "version": "2.6.2", + "description": "Browser/device capability finding.", + "author": "Faruk Ateş", + "website": "http://modernizr.com", + "license": "MIT", + "link": "http://modernizr.com/license/" + }, + { + "name": "Normalize.css", + "version": "1.1.2", + "description": "Browser style normalization.", + "author": "Nicolas Gallagher, Jonathan Neal", + "website": "http://necolas.github.io/normalize.css/", + "license": "MIT", + "link": "https://github.com/necolas/normalize.css/blob/master/LICENSE.md" + } ] } } diff --git a/platform/framework/bundle.json b/platform/framework/bundle.json index 057e9287d0..2b7494b83d 100644 --- a/platform/framework/bundle.json +++ b/platform/framework/bundle.json @@ -13,5 +13,61 @@ } }, "extensions": { + "licenses": [ + { + "name": "Blanket.js", + "version": "1.1.5", + "description": "Code coverage measurement and reporting.", + "author": "Alex Seville", + "website": "http://blanketjs.org/", + "license": "MIT", + "link": "http://opensource.org/licenses/MIT" + }, + { + "name": "Jasmine", + "version": "1.3.1", + "description": "Unit testing.", + "author": "Pivotal Labs", + "website": "http://jasmine.github.io/", + "license": "MIT", + "link": "http://opensource.org/licenses/MIT" + }, + { + "name": "RequireJS", + "version": "2.1.9", + "description": "Script loader.", + "author": "The Dojo Foundation", + "website": "http://requirejs.org/", + "license": "MIT", + "link": "https://github.com/jrburke/requirejs/blob/master/LICENSE" + }, + { + "name": "AngularJS", + "version": "1.2.26", + "description": "Client-side web application framework.", + "author": "Google", + "website": "http://angularjs.org/", + "license": "MIT", + "link": "https://github.com/angular/angular.js/blob/master/LICENSE" + }, + { + "name": "Angular-Route", + "version": "1.2.26", + "description": "Client-side view routing.", + "author": "Google", + "website": "http://angularjs.org/", + "license": "MIT", + "link": "https://github.com/angular/angular.js/blob/master/LICENSE" + }, + { + "name": "ES6-Promise", + "version": "2.0.0", + "description": "Promise polyfill for pre-ECMAScript 6 browsers.", + "author": "Yehuda Katz, Tom Dale, Stefan Penner and contributors", + "website": "https://github.com/jakearchibald/es6-promise", + "license": "MIT", + "link": "https://github.com/jakearchibald/es6-promise/blob/master/LICENSE" + } + ] } } \ No newline at end of file diff --git a/platform/telemetry/bundle.json b/platform/telemetry/bundle.json index bad85512b0..1541e12026 100644 --- a/platform/telemetry/bundle.json +++ b/platform/telemetry/bundle.json @@ -44,6 +44,17 @@ "implementation": "TelemetrySubscriber.js", "depends": [ "$q", "$timeout" ] } + ], + "licenses": [ + { + "name": "Moment.js", + "version": "2.7.0", + "author": "Tim Wood, Iskren Chernev, Moment.js contributors", + "description": "Time/date parsing/formatting.", + "website": "http://momentjs.com", + "license": "MIT", + "link": "https://raw.githubusercontent.com/moment/moment/develop/LICENSE" + } ] } } \ No newline at end of file