From 0bc0c6c25557565623cbba9769dfb637cfd45424 Mon Sep 17 00:00:00 2001 From: Kamal Gill Date: Thu, 10 Nov 2016 11:32:08 -0800 Subject: [PATCH 1/2] GUI-2792: Surface VPC actions supported by Eucalyptus in the IAM policy editor --- eucaconsole/constants/permissions.py | 46 ++++++++++++++-------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/eucaconsole/constants/permissions.py b/eucaconsole/constants/permissions.py index 9a104f1bc..27fcc6d29 100644 --- a/eucaconsole/constants/permissions.py +++ b/eucaconsole/constants/permissions.py @@ -38,9 +38,9 @@ 'AssignPrivateIpAddresses', 'AssociateAddress', # 'AssociateDhcpOptions', - # 'AssociateRouteTable', - # 'AttachInternetGateway', - # 'AttachNetworkInterface', + 'AssociateRouteTable', + 'AttachInternetGateway', + 'AttachNetworkInterface', 'AttachVolume', # 'AttachVpnGateway', 'AuthorizeSecurityGroupEgress', @@ -58,43 +58,43 @@ # 'CreateDhcpOptions', 'CreateImage', # 'CreateInstanceExportTask', - # 'CreateInternetGateway', + 'CreateInternetGateway', 'CreateKeyPair', # 'CreateNetworkAcl', # 'CreateNetworkAclEntry', - # 'CreateNetworkInterface', + 'CreateNetworkInterface', 'CreatePlacementGroup', # 'CreateReservedInstancesListing', - # 'CreateRoute', - # 'CreateRouteTable', + 'CreateRoute', + 'CreateRouteTable', 'CreateSecurityGroup', 'CreateSnapshot', # 'CreateSpotDatafeedSubscription', - # 'CreateSubnet', + 'CreateSubnet', 'CreateTags', 'CreateVolume', - # 'CreateVpc', + 'CreateVpc', # 'CreateVpnConnection', # 'CreateVpnConnectionRoute', # 'CreateVpnGateway', # 'DeactivateLicense', # 'DeleteCustomerGateway', # 'DeleteDhcpOptions', - # 'DeleteInternetGateway', + 'DeleteInternetGateway', 'DeleteKeyPair', # 'DeleteNetworkAcl', # 'DeleteNetworkAclEntry', - # 'DeleteNetworkInterface', + 'DeleteNetworkInterface', 'DeletePlacementGroup', - # 'DeleteRoute', - # 'DeleteRouteTable', + 'DeleteRoute', + 'DeleteRouteTable', 'DeleteSecurityGroup', 'DeleteSnapshot', # 'DeleteSpotDatafeedSubscription', # 'DeleteSubnet', 'DeleteTags', 'DeleteVolume', - # 'DeleteVpc', + 'DeleteVpc', # 'DeleteVpnConnection', # 'DeleteVpnConnectionRoute', # 'DeleteVpnGateway', @@ -112,7 +112,7 @@ 'DescribeInstanceAttribute', 'DescribeInstanceStatus', 'DescribeInstances', - # 'DescribeInternetGateways', + 'DescribeInternetGateways', 'DescribeKeyPairs', # 'DescribeLicenses', # 'DescribeNetworkAcls', @@ -140,13 +140,13 @@ # 'DescribeVpcs', # 'DescribeVpnConnections', # 'DescribeVpnGateways', - # 'DetachInternetGateway', - # 'DetachNetworkInterface', + 'DetachInternetGateway', + 'DetachNetworkInterface', 'DetachVolume', # 'DetachVpnGateway', # 'DisableVgwRoutePropagation', 'DisassociateAddress', - # 'DisassociateRouteTable', + 'DisassociateRouteTable', # 'EnableVgwRoutePropagation', 'EnableVolumeIO', 'GetConsoleOutput', @@ -156,11 +156,11 @@ 'ImportVolume', 'ModifyImageAttribute', 'ModifyInstanceAttribute', - # 'ModifyNetworkInterfaceAttribute', + 'ModifyNetworkInterfaceAttribute', # 'ModifyReservedInstances', 'ModifySnapshotAttribute', 'ModifyVolumeAttribute', - # 'ModifyVpcAttribute', + 'ModifyVpcAttribute', 'MonitorInstances', # 'PurchaseReservedInstancesOffering', 'RebootInstances', @@ -168,13 +168,13 @@ 'ReleaseAddress', # 'ReplaceNetworkAclAssociation', # 'ReplaceNetworkAclEntry', - # 'ReplaceRoute', - # 'ReplaceRouteTableAssociation', + 'ReplaceRoute', + 'ReplaceRouteTableAssociation', 'ReportInstanceStatus', # 'RequestSpotInstances', 'ResetImageAttribute', 'ResetInstanceAttribute', - # 'ResetNetworkInterfaceAttribute', + 'ResetNetworkInterfaceAttribute', 'ResetSnapshotAttribute', 'RevokeSecurityGroupEgress', 'RevokeSecurityGroupIngress', From cd676d034eab30b0b7b6c186f042109fbd0b98ef Mon Sep 17 00:00:00 2001 From: "Adam A.G. Shamblin" Date: Thu, 10 Nov 2016 17:20:06 -0700 Subject: [PATCH 2/2] GUI-2821, Grunt file concatenation for elb-wizard. --- Gruntfile.js | 638 ++++++++++++---------- eucaconsole/static/banners/js.banner.txt | 27 + eucaconsole/templates/elbs/wizard/main.pt | 17 +- package.json | 1 + 4 files changed, 364 insertions(+), 319 deletions(-) create mode 100644 eucaconsole/static/banners/js.banner.txt diff --git a/Gruntfile.js b/Gruntfile.js index 3af44669d..b1e6dc278 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -2,313 +2,345 @@ module.exports = function(grunt) { // Project configuration. - grunt.initConfig({ - pkg: grunt.file.readJSON('package.json'), - bowercopy: { - options: { - // Bower components folder will be removed afterwards - clean: true - }, - angular: { - options: { - destPrefix: 'eucaconsole/static/js/thirdparty/angular' - }, - files: { - 'angular.js': 'angular/angular.js', - 'angular.min.js': 'angular/angular.min.js', - 'angular-route.min.js': 'angular-route/angular-route.min.js', - 'angular-sanitize.min.js': 'angular-sanitize/angular-sanitize.min.js', - 'angular-mocks.js': 'angular-mocks/angular-mocks.js', - } - }, - jquery: { - options: { - destPrefix: 'eucaconsole/static/js/thirdparty/jquery' - }, - files: { - 'jquery.min.js': 'jquery/dist/jquery.min.js' - } - }, - jasmine: { - options: { - destPrefix: 'eucaconsole/static/js/thirdparty/jasmine' - }, - files: { - 'jasmine_favicon.png': 'jasmine/images/jasmine_favicon.png', - 'jasmine.css': 'jasmine/lib/jasmine-core/jasmine.css', - 'jasmine.js': 'jasmine/lib/jasmine-core/jasmine.js', - 'jasmine-html.js': 'jasmine/lib/jasmine-core/jasmine-html.js', - 'console.js': 'jasmine/lib/console/console.js', - 'boot.js': 'jasmine/lib/jasmine-core/boot/boot.js' - } - }, - jasmine_jquery: { - options: { - destPrefix: 'eucaconsole/static/js/thirdparty/jasmine' - }, - files: { - 'jasmine-jquery.js': 'jasmine-jquery/lib/jasmine-jquery.js' - } - }, - font_awesome: { - files: { - 'eucaconsole/static/fonts/': 'components-font-awesome/fonts/*', - 'eucaconsole/static/css/thirdparty': 'components-font-awesome/css/*.css', - 'eucaconsole/static/sass/font-awesome':'components-font-awesome/scss/*.scss' - } - }, - foundation: { - files: { - 'eucaconsole/static/js/thirdparty/foundation': 'foundation/js/**/foundation*.js', - 'eucaconsole/static/sass/foundation': 'foundation/scss/foundation' - } - }, - foundation_datepicker: { - files: { - 'eucaconsole/static/js/thirdparty/foundation-datepicker': 'foundation-datepicker/js/foundation-datepicker*.js', - 'eucaconsole/static/sass': 'foundation-datepicker/css/foundation-datepicker.scss', - } - }, - angular_magic_search: { - options: { - }, - files: { - 'eucaconsole/static/js/thirdparty/magic-search': 'angular-magic-search/magic_search.*' - } - }, - angular_smart_table: { - options: { - destPrefix: 'eucaconsole/static/js/thirdparty/angular' - }, - files: { - 'angular-smart-table.js': 'angular-smart-table/dist/smart-table.js', - 'angular-smart-table.min.js': 'angular-smart-table/dist/smart-table.min.js' - } - }, - d3: { - options: { - destPrefix: 'eucaconsole/static/js/thirdparty/d3' - }, - files: { - 'd3.js': 'd3/d3.js', - 'd3.min.js': 'd3/d3.min.js', - 'LICENSE.txt': 'd3/LICENSE' - } - }, - nvd3: { - options: { - destPrefix: 'eucaconsole/static/js/thirdparty/nvd3' - }, - files: { - 'nv.d3.js': 'nvd3/build/nv.d3.js', - 'nv.d3.min.js': 'nvd3/build/nv.d3.min.js', - 'nv.d3.css': 'nvd3/build/nv.d3.css', - 'nv.d3.min.css': 'nvd3/build/nv.d3.min.css' - } - }, - angular_chosen: { - options: { - }, - files: { - 'eucaconsole/static/js/thirdparty/angular': 'angular-chosen-localytics/chosen.*' - } - }, - sticky_table_headers: { - options: { - destPrefix: 'eucaconsole/static/js/thirdparty/jquery' - }, - files: { - 'jquery.stickytableheaders.js': 'StickyTableHeaders/js/jquery.stickytableheaders.js', - 'jquery.stickytableheaders.min.js': 'StickyTableHeaders/js/jquery.stickytableheaders.min.js' - } - }, - angular_filters: { - options: { - destPrefix: 'eucaconsole/static/js/thirdparty/angular' - }, - files: { - 'angular-filter.js': 'angular-filter/dist/angular-filter.js', - 'angular-filter.min.js': 'angular-filter/dist/angular-filter.min.js' - } - } - }, - jshint: { - options: { - reporter: require('jshint-stylish') - }, - all: ['Gruntfile.js', + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + bowercopy: { + options: { + // Bower components folder will be removed afterwards + clean: true + }, + angular: { + options: { + destPrefix: 'eucaconsole/static/js/thirdparty/angular' + }, + files: { + 'angular.js': 'angular/angular.js', + 'angular.min.js': 'angular/angular.min.js', + 'angular-route.min.js': 'angular-route/angular-route.min.js', + 'angular-sanitize.min.js': 'angular-sanitize/angular-sanitize.min.js', + 'angular-mocks.js': 'angular-mocks/angular-mocks.js', + } + }, + jquery: { + options: { + destPrefix: 'eucaconsole/static/js/thirdparty/jquery' + }, + files: { + 'jquery.min.js': 'jquery/dist/jquery.min.js' + } + }, + jasmine: { + options: { + destPrefix: 'eucaconsole/static/js/thirdparty/jasmine' + }, + files: { + 'jasmine_favicon.png': 'jasmine/images/jasmine_favicon.png', + 'jasmine.css': 'jasmine/lib/jasmine-core/jasmine.css', + 'jasmine.js': 'jasmine/lib/jasmine-core/jasmine.js', + 'jasmine-html.js': 'jasmine/lib/jasmine-core/jasmine-html.js', + 'console.js': 'jasmine/lib/console/console.js', + 'boot.js': 'jasmine/lib/jasmine-core/boot/boot.js' + } + }, + jasmine_jquery: { + options: { + destPrefix: 'eucaconsole/static/js/thirdparty/jasmine' + }, + files: { + 'jasmine-jquery.js': 'jasmine-jquery/lib/jasmine-jquery.js' + } + }, + font_awesome: { + files: { + 'eucaconsole/static/fonts/': 'components-font-awesome/fonts/*', + 'eucaconsole/static/css/thirdparty': 'components-font-awesome/css/*.css', + 'eucaconsole/static/sass/font-awesome':'components-font-awesome/scss/*.scss' + } + }, + foundation: { + files: { + 'eucaconsole/static/js/thirdparty/foundation': 'foundation/js/**/foundation*.js', + 'eucaconsole/static/sass/foundation': 'foundation/scss/foundation' + } + }, + foundation_datepicker: { + files: { + 'eucaconsole/static/js/thirdparty/foundation-datepicker': 'foundation-datepicker/js/foundation-datepicker*.js', + 'eucaconsole/static/sass': 'foundation-datepicker/css/foundation-datepicker.scss', + } + }, + angular_magic_search: { + options: { + }, + files: { + 'eucaconsole/static/js/thirdparty/magic-search': 'angular-magic-search/magic_search.*' + } + }, + angular_smart_table: { + options: { + destPrefix: 'eucaconsole/static/js/thirdparty/angular' + }, + files: { + 'angular-smart-table.js': 'angular-smart-table/dist/smart-table.js', + 'angular-smart-table.min.js': 'angular-smart-table/dist/smart-table.min.js' + } + }, + d3: { + options: { + destPrefix: 'eucaconsole/static/js/thirdparty/d3' + }, + files: { + 'd3.js': 'd3/d3.js', + 'd3.min.js': 'd3/d3.min.js', + 'LICENSE.txt': 'd3/LICENSE' + } + }, + nvd3: { + options: { + destPrefix: 'eucaconsole/static/js/thirdparty/nvd3' + }, + files: { + 'nv.d3.js': 'nvd3/build/nv.d3.js', + 'nv.d3.min.js': 'nvd3/build/nv.d3.min.js', + 'nv.d3.css': 'nvd3/build/nv.d3.css', + 'nv.d3.min.css': 'nvd3/build/nv.d3.min.css' + } + }, + angular_chosen: { + options: { + }, + files: { + 'eucaconsole/static/js/thirdparty/angular': 'angular-chosen-localytics/chosen.*' + } + }, + sticky_table_headers: { + options: { + destPrefix: 'eucaconsole/static/js/thirdparty/jquery' + }, + files: { + 'jquery.stickytableheaders.js': 'StickyTableHeaders/js/jquery.stickytableheaders.js', + 'jquery.stickytableheaders.min.js': 'StickyTableHeaders/js/jquery.stickytableheaders.min.js' + } + }, + angular_filters: { + options: { + destPrefix: 'eucaconsole/static/js/thirdparty/angular' + }, + files: { + 'angular-filter.js': 'angular-filter/dist/angular-filter.js', + 'angular-filter.min.js': 'angular-filter/dist/angular-filter.min.js' + } + } + }, + jshint: { + options: { + reporter: require('jshint-stylish') + }, + all: [ + 'Gruntfile.js', 'eucaconsole/static/js/pages/*.js', 'eucaconsole/static/js/widgets/*.js', - 'eucaconsole/static/js/jasmine-spec/*.js'] - }, - karma: { - unit: { - configFile: 'karma.conf.js' - }, - ci: { - configFile: 'karma.conf.js', - singleRun: true - } - }, - clean: { - backup: ["eucaconsole.backup"], - minified: ["eucaconsole/static/js/minified"] - }, - copy: { - restore: { - files: [{ - expand: true, - cwd: 'eucaconsole.backup/eucaconsole/', - src: ['**/*'], - dest: 'eucaconsole' - }], - options: { - force: true, - mode: true, - timestamp: true - } - }, - backup: { - files: [{ - expand: true, - src: ['eucaconsole/**'], - dest: 'eucaconsole.backup/' - }], - options: { - force: false, - mode: true, - timestamp: true - } - } - }, - htmlmin: { - production: { - options: { - removeComments: true, - collapseWhitespace: true, - conservativeCollapse: true - }, - files: [{ - expand: true, - cwd: 'eucaconsole/templates', - src: '**/*.pt', - dest: 'eucaconsole/templates' - }] - } - }, - replace: { - min: { - expand: true, - src: 'eucaconsole/templates/**/*.pt', - overwrite: true, - replacements: [{ - from: /static\/js\/pages\/(.+)\.js/g, - to: 'static/js/minified/pages/$1.min.js' - }, { - from: /static\/js\/widgets\/(.+)\.js/g, - to: 'static/js/minified/widgets/$1.min.js' - }] - }, - nomin: { - expand: true, - src: 'eucaconsole/templates/**/*.pt', - overwrite: true, - replacements: [{ - from: /static\/js\/minified\/pages\/(.+)\.min\.js/g, - to: 'static/js/pages/$1.js' - }, { - from: /static\/js\/minified\/widgets\/(.+)\.min\.js/g, - to: 'static/js/widgets/$1.js' - }] - } - }, - uglify: { - minify: { - options: { - mangle: false, - compress: { - drop_console: true - } - }, - files: [ - { - expand: true, // Enable dynamic expansion. - cwd: 'eucaconsole/static/js/', // Src matches are relative to this path. - src: ['pages/*.js', 'widgets/*.js'], // Actual pattern(s) to match. - dest: 'eucaconsole/static/js/minified/', // Destination path prefix. - ext: '.min.js', // Dest filepaths will have this extension. - extDot: 'first' // Extensions in filenames begin after the first dot - } - ] - } - }, - compass: { - sass: { - options: { - outputStyle: 'compact', - noLineComments: '', - sassDir: 'eucaconsole/static/sass', - cssDir: 'eucaconsole/static/css' - } - } - }, - watch: { - scripts: { - files: ['eucaconsole/static/js/**/*.js'], - tasks: ['karma:ci', 'jshint'], - options: { - spawn: false - } - }, - sass: { - files: ['eucaconsole/static/sass/**/*.scss'], - tasks: ['compass'], - options: { - spawn: false - } - } - }, - htmllint: { - options: { - ignore: [ - /Attribute “ng-[a-z-]+” not allowed/, - /Attribute “tal:[a-z-]+” not allowed/, - /Attribute “tal:[a-z-]+” is not serializable/, - /Attribute “i18n:[a-z-]+” not allowed/, - /Attribute “i18n:[a-z-]+” is not serializable/, - /Attribute “metal:[a-z-]+” is not serializable/, - ] - }, - all: ['eucaconsole/static/html/**/*.html', 'eucaconsole/templates/**/*.pt'], - templates: ['eucaconsole/templates/**/*.pt'], - dialogs: ['eucaconsole/templates/dialogs/*.pt'], - directives: ['eucaconsole/static/html/directives/*.html'], - help: ['eucaconsole/static/html/help/*.html'], - elb: ['eucaconsole/templates/dialogs/select_certificate_dialog.pt', + 'eucaconsole/static/js/jasmine-spec/*.js' + ] + }, + karma: { + unit: { + configFile: 'karma.conf.js' + }, + ci: { + configFile: 'karma.conf.js', + singleRun: true + } + }, + clean: { + backup: ["eucaconsole.backup"], + minified: ["eucaconsole/static/js/minified"] + }, + copy: { + restore: { + files: [{ + expand: true, + cwd: 'eucaconsole.backup/eucaconsole/', + src: ['**/*'], + dest: 'eucaconsole' + }], + options: { + force: true, + mode: true, + timestamp: true + } + }, + backup: { + files: [{ + expand: true, + src: ['eucaconsole/**'], + dest: 'eucaconsole.backup/' + }], + options: { + force: false, + mode: true, + timestamp: true + } + } + }, + concat: { + options: { + sourceMap: true, + stripBanners: true, + banner: grunt.file.read('eucaconsole/static/banners/js.banner.txt') + }, + elbWizard: { + src: [ + 'eucaconsole/static/js/services/instances-service.js', + 'eucaconsole/static/js/pages/elb-wizard/wizard.js', + 'eucaconsole/static/js/pages/elb-wizard/navigation.js', + 'eucaconsole/static/js/pages/elb-wizard/main.js', + 'eucaconsole/static/js/pages/elb-wizard/general.js', + 'eucaconsole/static/js/pages/elb-wizard/instances.js', + 'eucaconsole/static/js/pages/elb-wizard/network.js', + 'eucaconsole/static/js/pages/elb-wizard/advanced.js', + 'eucaconsole/static/js/widgets/listener-editor/listener-editor.js', + 'eucaconsole/static/js/widgets/listener-editor/security-policy-editor.js', + 'eucaconsole/static/js/thirdparty/magic-search/magic_search.js', + 'eucaconsole/static/js/services/magic-search-filter.js', + 'eucaconsole/static/js/widgets/instance-selector2.js', + 'eucaconsole/static/js/widgets/listener-editor/certificate-editor.js', + 'eucaconsole/static/js/widgets/modal.js', + 'eucaconsole/static/js/widgets/tag-editor/tag-editor.js' + ], + dest: 'eucaconsole/static/js/dist/elb-wizard.js' + } + }, + htmlmin: { + production: { + options: { + removeComments: true, + collapseWhitespace: true, + conservativeCollapse: true + }, + files: [{ + expand: true, + cwd: 'eucaconsole/templates', + src: '**/*.pt', + dest: 'eucaconsole/templates' + }] + } + }, + replace: { + min: { + expand: true, + src: 'eucaconsole/templates/**/*.pt', + overwrite: true, + replacements: [{ + from: /static\/js\/pages\/(.+)\.js/g, + to: 'static/js/minified/pages/$1.min.js' + }, { + from: /static\/js\/widgets\/(.+)\.js/g, + to: 'static/js/minified/widgets/$1.min.js' + }] + }, + nomin: { + expand: true, + src: 'eucaconsole/templates/**/*.pt', + overwrite: true, + replacements: [{ + from: /static\/js\/minified\/pages\/(.+)\.min\.js/g, + to: 'static/js/pages/$1.js' + }, { + from: /static\/js\/minified\/widgets\/(.+)\.min\.js/g, + to: 'static/js/widgets/$1.js' + }] + } + }, + uglify: { + minify: { + options: { + mangle: false, + compress: { + drop_console: true + } + }, + files: [ + { + expand: true, // Enable dynamic expansion. + cwd: 'eucaconsole/static/js/', // Src matches are relative to this path. + src: ['pages/*.js', 'widgets/*.js'], // Actual pattern(s) to match. + dest: 'eucaconsole/static/js/minified/', // Destination path prefix. + ext: '.min.js', // Dest filepaths will have this extension. + extDot: 'first' // Extensions in filenames begin after the first dot + } + ] + } + }, + compass: { + sass: { + options: { + outputStyle: 'compact', + noLineComments: '', + sassDir: 'eucaconsole/static/sass', + cssDir: 'eucaconsole/static/css' + } + } + }, + watch: { + scripts: { + files: ['eucaconsole/static/js/**/*.js'], + tasks: ['karma:ci', 'jshint'], + options: { + spawn: false + } + }, + sass: { + files: ['eucaconsole/static/sass/**/*.scss'], + tasks: ['compass'], + options: { + spawn: false + } + } + }, + htmllint: { + options: { + ignore: [ + /Attribute “ng-[a-z-]+” not allowed/, + /Attribute “tal:[a-z-]+” not allowed/, + /Attribute “tal:[a-z-]+” is not serializable/, + /Attribute “i18n:[a-z-]+” not allowed/, + /Attribute “i18n:[a-z-]+” is not serializable/, + /Attribute “metal:[a-z-]+” is not serializable/, + ] + }, + all: ['eucaconsole/static/html/**/*.html', 'eucaconsole/templates/**/*.pt'], + templates: ['eucaconsole/templates/**/*.pt'], + dialogs: ['eucaconsole/templates/dialogs/*.pt'], + directives: ['eucaconsole/static/html/directives/*.html'], + help: ['eucaconsole/static/html/help/*.html'], + elb: [ + 'eucaconsole/templates/dialogs/select_certificate_dialog.pt', 'eucaconsole/templates/panels/elb_listener_editor.pt', 'eucaconsole/static/html/directives/instance_selector.html', - 'eucaconsole/templates/elbs/elb_wizard.pt'], - } - }); + 'eucaconsole/templates/elbs/elb_wizard.pt' + ] + } + }); - // Load the plugins - grunt.loadNpmTasks('grunt-contrib-clean'); - grunt.loadNpmTasks('grunt-contrib-copy'); - grunt.loadNpmTasks('grunt-contrib-jshint'); - grunt.loadNpmTasks('grunt-contrib-htmlmin'); - grunt.loadNpmTasks('grunt-contrib-uglify'); - grunt.loadNpmTasks('grunt-contrib-watch'); - grunt.loadNpmTasks('grunt-bowercopy'); - grunt.loadNpmTasks('grunt-karma'); - grunt.loadNpmTasks('grunt-text-replace'); - grunt.loadNpmTasks('grunt-contrib-compass'); - grunt.loadNpmTasks('grunt-html'); - - // Default task(s). - grunt.registerTask('default', ['watch']); - grunt.registerTask('runtest', ['karma:ci', 'jshint']); - grunt.registerTask('commitcheck', ['runtest']); - grunt.registerTask('production', ['copy:backup', 'uglify', 'replace:min', 'htmlmin']); - grunt.registerTask('restore', ['copy:restore', 'clean']); + // Load the plugins + grunt.loadNpmTasks('grunt-contrib-clean'); + grunt.loadNpmTasks('grunt-contrib-copy'); + grunt.loadNpmTasks('grunt-contrib-concat'); + grunt.loadNpmTasks('grunt-contrib-jshint'); + grunt.loadNpmTasks('grunt-contrib-htmlmin'); + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-bowercopy'); + grunt.loadNpmTasks('grunt-karma'); + grunt.loadNpmTasks('grunt-text-replace'); + grunt.loadNpmTasks('grunt-contrib-compass'); + grunt.loadNpmTasks('grunt-html'); + // Default task(s). + grunt.registerTask('default', ['watch']); + grunt.registerTask('runtest', ['karma:ci', 'jshint']); + grunt.registerTask('commitcheck', ['runtest']); + grunt.registerTask('production', ['copy:backup', 'uglify', 'replace:min', 'htmlmin']); + grunt.registerTask('restore', ['copy:restore', 'clean']); }; diff --git a/eucaconsole/static/banners/js.banner.txt b/eucaconsole/static/banners/js.banner.txt new file mode 100644 index 000000000..d34fcec52 --- /dev/null +++ b/eucaconsole/static/banners/js.banner.txt @@ -0,0 +1,27 @@ +/************************************************************************* + * (c) Copyright 2016 Hewlett Packard Enterprise Development Company LP + * + * Redistribution and use of this software in source and binary forms, + * with or without modification, are permitted provided that the following + * conditions are met: + * + * Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + ************************************************************************/ + diff --git a/eucaconsole/templates/elbs/wizard/main.pt b/eucaconsole/templates/elbs/wizard/main.pt index 10bd6057b..02dfabf47 100644 --- a/eucaconsole/templates/elbs/wizard/main.pt +++ b/eucaconsole/templates/elbs/wizard/main.pt @@ -49,21 +49,6 @@ - - - - - - - - - - - - - - - - + diff --git a/package.json b/package.json index f3daaaa51..64c844cc6 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,7 @@ "grunt-cli": "~0.1.13", "grunt-contrib-clean": "~0.6.0", "grunt-contrib-compass": "~1.0.1", + "grunt-contrib-concat": "^1.0.1", "grunt-contrib-copy": "~0.7.0", "grunt-contrib-htmlmin": "~0.3.0", "grunt-contrib-jshint": "~0.10.0",