TEZ-3227. Tez UI: Replace UI1 with UI2 (sree)
Project: http://git-wip-us.apache.org/repos/asf/tez/repo Commit: http://git-wip-us.apache.org/repos/asf/tez/commit/13132ec7 Tree: http://git-wip-us.apache.org/repos/asf/tez/tree/13132ec7 Diff: http://git-wip-us.apache.org/repos/asf/tez/diff/13132ec7 Branch: refs/heads/master Commit: 13132ec7314e98b22f5d66c5deb55a8350da7c2f Parents: 7e9ed83 Author: Sreenath Somarajapuram <[email protected]> Authored: Tue Apr 26 15:42:49 2016 +0530 Committer: Sreenath Somarajapuram <[email protected]> Committed: Tue Apr 26 15:42:49 2016 +0530 ---------------------------------------------------------------------- CHANGES.txt | 1 + pom.xml | 1 - tez-ui/README.TXT | 91 -- tez-ui/README.md | 89 ++ tez-ui/pom.xml | 122 ++- tez-ui/src/main/resources/META-INF/LICENSE.txt | 52 +- tez-ui/src/main/webapp/.bowerrc | 3 +- tez-ui/src/main/webapp/.editorconfig | 34 + tez-ui/src/main/webapp/.ember-cli | 9 + tez-ui/src/main/webapp/.gitattributes | 1 - tez-ui/src/main/webapp/.gitignore | 27 +- tez-ui/src/main/webapp/.jshintrc | 52 +- tez-ui/src/main/webapp/.travis.yml | 23 + tez-ui/src/main/webapp/.watchmanconfig | 3 + tez-ui/src/main/webapp/Gruntfile.js | 482 --------- tez-ui/src/main/webapp/README.md | 64 +- tez-ui/src/main/webapp/WEB-INF/wro.xml | 9 + tez-ui/src/main/webapp/app/adapters/abstract.js | 70 ++ tez-ui/src/main/webapp/app/adapters/ahs-app.js | 27 + tez-ui/src/main/webapp/app/adapters/am.js | 28 + tez-ui/src/main/webapp/app/adapters/app-rm.js | 22 + tez-ui/src/main/webapp/app/adapters/app.js | 22 + .../src/main/webapp/app/adapters/attempt-am.js | 22 + tez-ui/src/main/webapp/app/adapters/attempt.js | 22 + tez-ui/src/main/webapp/app/adapters/dag-am.js | 22 + tez-ui/src/main/webapp/app/adapters/dag.js | 22 + tez-ui/src/main/webapp/app/adapters/loader.js | 58 ++ tez-ui/src/main/webapp/app/adapters/rm.js | 26 + tez-ui/src/main/webapp/app/adapters/task-am.js | 22 + tez-ui/src/main/webapp/app/adapters/task.js | 22 + tez-ui/src/main/webapp/app/adapters/timeline.js | 106 ++ .../src/main/webapp/app/adapters/vertex-am.js | 22 + tez-ui/src/main/webapp/app/adapters/vertex.js | 22 + tez-ui/src/main/webapp/app/app.js | 36 + .../main/webapp/app/components/caller-info.js | 78 ++ .../webapp/app/components/column-selector.js | 104 ++ .../webapp/app/components/dags-page-search.js | 53 + .../webapp/app/components/dags-pagination-ui.js | 106 ++ .../webapp/app/components/date-formatter.js | 30 + .../components/em-swimlane-blocking-event.js | 75 ++ .../em-swimlane-consolidated-process.js | 89 ++ .../app/components/em-swimlane-event-bar.js | 91 ++ .../webapp/app/components/em-swimlane-event.js | 62 ++ .../app/components/em-swimlane-process-line.js | 60 ++ .../app/components/em-swimlane-process-name.js | 45 + .../components/em-swimlane-process-visual.js | 66 ++ .../webapp/app/components/em-swimlane-ruler.js | 98 ++ .../app/components/em-swimlane-vertex-name.js | 71 ++ .../main/webapp/app/components/em-swimlane.js | 171 ++++ .../app/components/em-table-status-cell.js | 36 + .../main/webapp/app/components/em-tooltip.js | 159 +++ .../src/main/webapp/app/components/error-bar.js | 109 ++ .../main/webapp/app/components/stats-link.js | 33 + .../main/webapp/app/components/tab-n-refresh.js | 57 ++ .../webapp/app/components/table-controls.js | 29 + .../webapp/app/components/zip-download-modal.js | 43 + .../src/main/webapp/app/controllers/abstract.js | 50 + tez-ui/src/main/webapp/app/controllers/app.js | 44 + .../main/webapp/app/controllers/app/configs.js | 60 ++ .../src/main/webapp/app/controllers/app/dags.js | 98 ++ .../main/webapp/app/controllers/app/index.js | 33 + .../main/webapp/app/controllers/application.js | 40 + .../src/main/webapp/app/controllers/attempt.js | 56 ++ .../webapp/app/controllers/attempt/counters.js | 26 + .../webapp/app/controllers/attempt/index.js | 22 + .../webapp/app/controllers/counters-table.js | 74 ++ tez-ui/src/main/webapp/app/controllers/dag.js | 56 ++ .../main/webapp/app/controllers/dag/attempts.js | 120 +++ .../main/webapp/app/controllers/dag/counters.js | 26 + .../webapp/app/controllers/dag/graphical.js | 174 ++++ .../main/webapp/app/controllers/dag/index.js | 22 + .../webapp/app/controllers/dag/index/index.js | 129 +++ .../main/webapp/app/controllers/dag/swimlane.js | 151 +++ .../main/webapp/app/controllers/dag/tasks.js | 82 ++ .../main/webapp/app/controllers/dag/vertices.js | 122 +++ tez-ui/src/main/webapp/app/controllers/dags.js | 166 ++++ .../main/webapp/app/controllers/multi-table.js | 37 + tez-ui/src/main/webapp/app/controllers/page.js | 23 + .../src/main/webapp/app/controllers/parent.js | 30 + tez-ui/src/main/webapp/app/controllers/table.js | 166 ++++ tez-ui/src/main/webapp/app/controllers/task.js | 54 + .../webapp/app/controllers/task/attempts.js | 98 ++ .../webapp/app/controllers/task/counters.js | 26 + .../main/webapp/app/controllers/task/index.js | 23 + .../src/main/webapp/app/controllers/vertex.js | 52 + .../webapp/app/controllers/vertex/attempts.js | 110 ++ .../webapp/app/controllers/vertex/counters.js | 26 + .../main/webapp/app/controllers/vertex/index.js | 50 + .../main/webapp/app/controllers/vertex/tasks.js | 72 ++ tez-ui/src/main/webapp/app/entities/am.js | 58 ++ .../src/main/webapp/app/entities/attempt-am.js | 23 + tez-ui/src/main/webapp/app/entities/entity.js | 181 ++++ tez-ui/src/main/webapp/app/entities/task-am.js | 23 + .../src/main/webapp/app/entities/vertex-am.js | 23 + .../main/webapp/app/errors/unlinked-promise.js | 34 + .../app/img/apache-tez-logo-transparent.png | Bin 77160 -> 0 bytes .../webapp/app/img/apache_tez_logo_lowres.png | Bin 70978 -> 0 bytes .../webapp/app/img/glyphicons-halflings.png | Bin 13826 -> 0 bytes tez-ui/src/main/webapp/app/img/tez-favicon.png | Bin 1416 -> 0 bytes tez-ui/src/main/webapp/app/index.html | 80 +- .../main/webapp/app/initializers/entities.js | 29 + tez-ui/src/main/webapp/app/initializers/env.js | 29 + .../src/main/webapp/app/initializers/hosts.js | 28 + .../src/main/webapp/app/initializers/jquery.js | 39 + .../src/main/webapp/app/initializers/loader.js | 27 + .../webapp/app/initializers/local-storage.js | 26 + .../webapp/app/mixins/auto-counter-column.js | 69 ++ tez-ui/src/main/webapp/app/mixins/name.js | 30 + tez-ui/src/main/webapp/app/models/abstract.js | 60 ++ tez-ui/src/main/webapp/app/models/ahs-app.js | 43 + .../src/main/webapp/app/models/am-timeline.js | 46 + tez-ui/src/main/webapp/app/models/am.js | 31 + tez-ui/src/main/webapp/app/models/app-rm.js | 22 + tez-ui/src/main/webapp/app/models/app.js | 46 + tez-ui/src/main/webapp/app/models/attempt-am.js | 22 + tez-ui/src/main/webapp/app/models/attempt.js | 76 ++ tez-ui/src/main/webapp/app/models/dag-am.js | 22 + tez-ui/src/main/webapp/app/models/dag.js | 70 ++ tez-ui/src/main/webapp/app/models/rm.js | 26 + tez-ui/src/main/webapp/app/models/task-am.js | 22 + tez-ui/src/main/webapp/app/models/task.js | 66 ++ tez-ui/src/main/webapp/app/models/timeline.js | 91 ++ tez-ui/src/main/webapp/app/models/vertex-am.js | 38 + tez-ui/src/main/webapp/app/models/vertex.js | 146 +++ tez-ui/src/main/webapp/app/router.js | 59 ++ tez-ui/src/main/webapp/app/routes/abstract.js | 189 ++++ .../src/main/webapp/app/routes/am-pollster.js | 93 ++ tez-ui/src/main/webapp/app/routes/app.js | 38 + .../src/main/webapp/app/routes/app/configs.js | 37 + tez-ui/src/main/webapp/app/routes/app/dags.js | 37 + tez-ui/src/main/webapp/app/routes/app/index.js | 39 + .../src/main/webapp/app/routes/application.js | 84 ++ tez-ui/src/main/webapp/app/routes/attempt.js | 38 + .../main/webapp/app/routes/attempt/counters.js | 35 + .../src/main/webapp/app/routes/attempt/index.js | 35 + tez-ui/src/main/webapp/app/routes/dag.js | 38 + .../src/main/webapp/app/routes/dag/attempts.js | 37 + .../src/main/webapp/app/routes/dag/counters.js | 36 + .../src/main/webapp/app/routes/dag/graphical.js | 81 ++ tez-ui/src/main/webapp/app/routes/dag/index.js | 58 ++ .../main/webapp/app/routes/dag/index/index.js | 62 ++ .../src/main/webapp/app/routes/dag/swimlane.js | 51 + tez-ui/src/main/webapp/app/routes/dag/tasks.js | 37 + .../src/main/webapp/app/routes/dag/vertices.js | 37 + tez-ui/src/main/webapp/app/routes/dags.js | 167 ++++ .../main/webapp/app/routes/multi-am-pollster.js | 35 + tez-ui/src/main/webapp/app/routes/pollster.js | 70 ++ .../webapp/app/routes/single-am-pollster.js | 34 + tez-ui/src/main/webapp/app/routes/task.js | 38 + .../src/main/webapp/app/routes/task/attempts.js | 37 + .../src/main/webapp/app/routes/task/counters.js | 35 + tez-ui/src/main/webapp/app/routes/task/index.js | 47 + tez-ui/src/main/webapp/app/routes/vertex.js | 38 + .../main/webapp/app/routes/vertex/attempts.js | 37 + .../main/webapp/app/routes/vertex/counters.js | 35 + .../src/main/webapp/app/routes/vertex/index.js | 35 + .../src/main/webapp/app/routes/vertex/tasks.js | 37 + tez-ui/src/main/webapp/app/scripts/app.js | 309 ------ .../basic-table/basic-table-component.js | 252 ----- .../scripts/components/basic-table/cell-view.js | 86 -- .../components/basic-table/column-definition.js | 49 - .../components/basic-table/header-cell-view.js | 72 -- .../components/basic-table/pagination-view.js | 62 -- .../components/basic-table/search-view.js | 48 - .../bs-progress-animated-component.js | 60 -- .../app/scripts/components/code-mirror.js | 86 -- .../app/scripts/components/counter-table.js | 65 -- .../scripts/components/dag-view-component.js | 78 -- .../components/dag-view/data-processor.js | 751 -------------- .../scripts/components/dag-view/graph-view.js | 993 ------------------- .../app/scripts/components/dag-view/tip.js | 191 ---- .../app/scripts/components/extended-table.js | 297 ------ .../webapp/app/scripts/components/kv-table.js | 70 -- .../scripts/components/load-time-component.js | 34 - .../webapp/app/scripts/components/page-nav.js | 37 - tez-ui/src/main/webapp/app/scripts/configs.js | 91 -- .../app/scripts/controllers/base-controller.js | 49 - .../controllers/dag-task-attempts-controller.js | 275 ----- .../scripts/controllers/dag-view-controller.js | 147 --- .../app/scripts/controllers/dag_controller.js | 147 --- .../controllers/dag_counters_controller.js | 56 -- .../scripts/controllers/dag_index_controller.js | 390 -------- .../controllers/dag_swimlane_controller.js | 41 - .../webapp/app/scripts/controllers/dag_tasks.js | 244 ----- .../app/scripts/controllers/dag_vertices.js | 265 ----- .../app/scripts/controllers/dags_controller.js | 382 ------- .../scripts/controllers/polling-controller.js | 113 --- .../controllers/table-page-controller.js | 82 -- .../controllers/task-counters-controller.js | 69 -- .../controllers/task_attempt_controller.js | 116 --- .../task_attempt_counters_controller.js | 62 -- .../app/scripts/controllers/task_controller.js | 105 -- .../controllers/task_index_controller.js | 68 -- .../task_task_attempts_controller.js | 258 ----- .../app/scripts/controllers/tasks_controller.js | 127 --- .../scripts/controllers/tez-app-controller.js | 76 -- .../controllers/tez-app-dags-controller.js | 182 ---- .../controllers/tez-app-index-controller.js | 54 - .../vertex-additionals-controller.js | 107 -- .../controllers/vertex-inputs-controller.js | 94 -- .../scripts/controllers/vertex_controller.js | 121 --- .../controllers/vertex_counters_controller.js | 57 -- .../controllers/vertex_index_controller.js | 94 -- .../vertex_task_attempts_controller.js | 238 ----- .../controllers/vertex_tasks_controller.js | 207 ---- .../main/webapp/app/scripts/default-configs.js | 326 ------ .../src/main/webapp/app/scripts/helpers/date.js | 224 ----- .../main/webapp/app/scripts/helpers/dialogs.js | 109 -- .../main/webapp/app/scripts/helpers/em-data.js | 59 -- .../scripts/helpers/entity-array-pollster.js | 99 -- .../webapp/app/scripts/helpers/error-bar.js | 97 -- .../webapp/app/scripts/helpers/fullscreen.js | 55 - .../app/scripts/helpers/handlebarHelpers.js | 88 -- .../src/main/webapp/app/scripts/helpers/io.js | 269 ----- .../src/main/webapp/app/scripts/helpers/misc.js | 824 --------------- .../main/webapp/app/scripts/helpers/number.js | 127 --- .../main/webapp/app/scripts/helpers/pollster.js | 58 -- .../webapp/app/scripts/helpers/translation.js | 119 --- .../scripts/mixins/auto-counter-column-mixin.js | 58 -- .../app/scripts/mixins/column-selector-mixin.js | 147 --- .../scripts/mixins/data-array-loader-minxin.js | 125 --- .../app/scripts/mixins/display_helpers.js | 39 - .../app/scripts/mixins/model-refresh-mixin.js | 35 - .../app/scripts/mixins/paginated_content.js | 202 ---- .../app/scripts/models/TimelineRestAdapter.js | 723 -------------- .../app/scripts/models/abstract_entity.js | 39 - .../src/main/webapp/app/scripts/models/dag.js | 518 ---------- .../webapp/app/scripts/models/task_attempt.js | 60 -- tez-ui/src/main/webapp/app/scripts/router.js | 321 ------ .../main/webapp/app/scripts/views/checkbox.js | 29 - .../webapp/app/scripts/views/dag-view-view.js | 43 - .../main/webapp/app/scripts/views/dropdown.js | 35 - .../scripts/views/extra-table-buttons-view.js | 23 - .../app/scripts/views/multi-select-view.js | 72 -- .../webapp/app/scripts/views/swimlane_view.js | 165 --- .../src/main/webapp/app/serializers/ahs-app.js | 49 + tez-ui/src/main/webapp/app/serializers/am.js | 41 + .../src/main/webapp/app/serializers/app-rm.js | 33 + tez-ui/src/main/webapp/app/serializers/app.js | 32 + .../main/webapp/app/serializers/attempt-am.js | 23 + .../src/main/webapp/app/serializers/attempt.js | 44 + .../src/main/webapp/app/serializers/dag-am.js | 28 + tez-ui/src/main/webapp/app/serializers/dag.js | 151 +++ .../src/main/webapp/app/serializers/loader.js | 93 ++ tez-ui/src/main/webapp/app/serializers/rm.js | 28 + .../src/main/webapp/app/serializers/task-am.js | 23 + tez-ui/src/main/webapp/app/serializers/task.js | 28 + .../src/main/webapp/app/serializers/timeline.js | 54 + .../main/webapp/app/serializers/vertex-am.js | 36 + .../src/main/webapp/app/serializers/vertex.js | 59 ++ tez-ui/src/main/webapp/app/services/env.js | 63 ++ tez-ui/src/main/webapp/app/services/hosts.js | 71 ++ tez-ui/src/main/webapp/app/services/loader.js | 151 +++ .../main/webapp/app/services/local-storage.js | 39 + tez-ui/src/main/webapp/app/services/pollster.js | 110 ++ tez-ui/src/main/webapp/app/styles/app.less | 52 + .../src/main/webapp/app/styles/caller-info.less | 26 + .../main/webapp/app/styles/column-selector.less | 78 ++ tez-ui/src/main/webapp/app/styles/dag-view.less | 376 ------- .../webapp/app/styles/dags-page-search.less | 85 ++ .../main/webapp/app/styles/date-formatter.less | 21 + .../main/webapp/app/styles/details-page.less | 58 ++ .../app/styles/em-swimlane-vertex-name.less | 65 ++ .../src/main/webapp/app/styles/em-swimlane.less | 246 +++++ .../webapp/app/styles/em-table-status-cell.less | 99 ++ .../src/main/webapp/app/styles/em-tooltip.less | 119 +++ .../src/main/webapp/app/styles/error-bar.less | 102 ++ tez-ui/src/main/webapp/app/styles/main.less | 980 ------------------ .../src/main/webapp/app/styles/page-layout.less | 154 +++ tez-ui/src/main/webapp/app/styles/shared.less | 107 +- .../main/webapp/app/styles/swimlane-page.less | 91 ++ tez-ui/src/main/webapp/app/styles/swimlanes.css | 62 -- .../main/webapp/app/styles/tab-n-refresh.less | 42 + .../main/webapp/app/styles/table-controls.less | 26 + tez-ui/src/main/webapp/app/styles/tooltip.less | 24 + .../webapp/app/styles/zip-download-modal.less | 30 + tez-ui/src/main/webapp/app/templates/app.hbs | 20 + .../main/webapp/app/templates/app/configs.hbs | 34 + .../src/main/webapp/app/templates/app/dags.hbs | 37 + .../src/main/webapp/app/templates/app/index.hbs | 127 +++ .../main/webapp/app/templates/application.hbs | 53 +- .../src/main/webapp/app/templates/attempt.hbs | 20 + .../webapp/app/templates/attempt/counters.hbs | 34 + .../main/webapp/app/templates/attempt/index.hbs | 95 ++ .../webapp/app/templates/common/configs.hbs | 19 - .../webapp/app/templates/common/counters.hbs | 35 - .../webapp/app/templates/common/swimlanes.hbs | 34 - .../app/templates/common/table-with-spinner.hbs | 31 - .../main/webapp/app/templates/common/table.hbs | 52 - .../app/templates/components/basic-table.hbs | 76 -- .../components/basic-table/basic-cell.hbs | 23 - .../basic-table/bounded-basic-cell.hbs | 27 - .../components/basic-table/header-cell.hbs | 27 - .../components/basic-table/linked-cell.hbs | 31 - .../components/basic-table/logs-cell.hbs | 31 - .../components/basic-table/multi-logs-cell.hbs | 28 - .../components/basic-table/pagination-view.hbs | 40 - .../components/basic-table/progress-cell.hbs | 27 - .../components/basic-table/search-view.hbs | 32 - .../components/basic-table/status-cell.hbs | 31 - .../basic-table/task-actions-cell.hbs | 24 - .../basic-table/vertex-configurations-cell.hbs | 31 - .../app/templates/components/caller-info.hbs | 24 + .../templates/components/column-selector.hbs | 50 + .../app/templates/components/counter-table.hbs | 58 -- .../app/templates/components/dag-view.hbs | 110 -- .../templates/components/dags-page-search.hbs | 77 ++ .../templates/components/dags-pagination-ui.hbs | 50 + .../app/templates/components/date-formatter.hbs | 19 + .../components/em-swimlane-blocking-event.hbs | 19 + .../em-swimlane-consolidated-process.hbs | 19 + .../components/em-swimlane-event-bar.hbs | 19 + .../templates/components/em-swimlane-event.hbs | 20 + .../components/em-swimlane-process-line.hbs | 19 + .../components/em-swimlane-process-name.hbs | 19 + .../components/em-swimlane-process-visual.hbs | 57 ++ .../templates/components/em-swimlane-ruler.hbs | 30 + .../components/em-swimlane-vertex-name.hbs | 23 + .../app/templates/components/em-swimlane.hbs | 63 ++ .../components/em-table-status-cell.hbs | 26 + .../app/templates/components/em-tooltip.hbs | 54 + .../app/templates/components/error-bar.hbs | 31 + .../components/extended-table/extable.hbs | 30 - .../components/extended-table/filter-cell.hbs | 23 - .../extended-table/filter-container.hbs | 33 - .../components/extended-table/filter-row.hbs | 23 - .../app/templates/components/kv-table.hbs | 47 - .../app/templates/components/load-time.hbs | 47 - .../app/templates/components/page-nav.hbs | 24 - .../app/templates/components/stats-link.hbs | 25 + .../app/templates/components/tab-n-refresh.hbs | 44 + .../app/templates/components/table-controls.hbs | 19 + .../templates/components/zip-download-modal.hbs | 36 + tez-ui/src/main/webapp/app/templates/dag.hbs | 20 +- .../main/webapp/app/templates/dag/attempts.hbs | 37 + .../main/webapp/app/templates/dag/counters.hbs | 34 + .../main/webapp/app/templates/dag/graphical.hbs | 32 + .../src/main/webapp/app/templates/dag/index.hbs | 220 ++-- .../webapp/app/templates/dag/index/index.hbs | 81 ++ .../main/webapp/app/templates/dag/swimlane.hbs | 42 + .../src/main/webapp/app/templates/dag/tasks.hbs | 37 + .../main/webapp/app/templates/dag/vertices.hbs | 74 +- .../src/main/webapp/app/templates/dag/view.hbs | 38 - tez-ui/src/main/webapp/app/templates/dags.hbs | 117 +-- tez-ui/src/main/webapp/app/templates/error.hbs | 24 - .../main/webapp/app/templates/input/configs.hbs | 42 - .../src/main/webapp/app/templates/loading.hbs | 24 + .../webapp/app/templates/output/configs.hbs | 39 - .../webapp/app/templates/partials/configs.hbs | 32 - .../app/templates/partials/loading-spinner.hbs | 21 - .../app/templates/partials/table-controls.hbs | 37 - .../webapp/app/templates/partials/table.hbs | 29 - .../main/webapp/app/templates/simple-modal.hbs | 35 + tez-ui/src/main/webapp/app/templates/task.hbs | 51 +- .../main/webapp/app/templates/task/attempts.hbs | 37 + .../main/webapp/app/templates/task/counters.hbs | 34 + .../main/webapp/app/templates/task/index.hbs | 195 ++-- .../webapp/app/templates/taskAttempt/index.hbs | 103 -- .../main/webapp/app/templates/task_attempt.hbs | 38 - tez-ui/src/main/webapp/app/templates/tasks.hbs | 25 - .../src/main/webapp/app/templates/tez-app.hbs | 35 - .../main/webapp/app/templates/tez-app/index.hbs | 151 --- tez-ui/src/main/webapp/app/templates/vertex.hbs | 50 +- .../webapp/app/templates/vertex/additionals.hbs | 50 - .../webapp/app/templates/vertex/attempts.hbs | 37 + .../webapp/app/templates/vertex/counters.hbs | 34 + .../main/webapp/app/templates/vertex/index.hbs | 323 +++--- .../main/webapp/app/templates/vertex/tasks.hbs | 37 + .../app/templates/views/extra-table-buttons.hbs | 19 - .../webapp/app/templates/views/multi-select.hbs | 55 - tez-ui/src/main/webapp/app/transforms/object.js | 29 + .../app/utils/counter-column-definition.js | 97 ++ .../main/webapp/app/utils/download-dag-zip.js | 407 ++++++++ tez-ui/src/main/webapp/app/utils/misc.js | 23 + .../main/webapp/app/utils/process-definition.js | 21 + tez-ui/src/main/webapp/app/utils/process.js | 122 +++ tez-ui/src/main/webapp/app/utils/processor.js | 50 + .../src/main/webapp/app/utils/vertex-process.js | 273 +++++ tez-ui/src/main/webapp/blueprints/.jshintrc | 6 + .../files/tests/unit/entities/__name__-test.js | 30 + .../main/webapp/blueprints/entity-test/index.js | 35 + .../entity/files/app/entities/__name__.js | 22 + .../src/main/webapp/blueprints/entity/index.js | 31 + tez-ui/src/main/webapp/bower.json | 49 +- tez-ui/src/main/webapp/config/build-info.js | 32 + tez-ui/src/main/webapp/config/configs.env | 57 ++ .../src/main/webapp/config/default-app-conf.js | 333 +++++++ tez-ui/src/main/webapp/config/environment.js | 70 ++ tez-ui/src/main/webapp/ember-cli-build.js | 76 ++ tez-ui/src/main/webapp/package.json | 88 +- .../webapp/public/assets/images/favicon.png | Bin 0 -> 1416 bytes .../main/webapp/public/assets/images/logo.png | Bin 0 -> 77160 bytes tez-ui/src/main/webapp/testem.json | 12 + tez-ui/src/main/webapp/tests/.jshintrc | 52 + .../main/webapp/tests/helpers/destroy-app.js | 23 + .../tests/helpers/module-for-acceptance.js | 41 + .../src/main/webapp/tests/helpers/resolver.js | 29 + .../src/main/webapp/tests/helpers/start-app.js | 36 + tez-ui/src/main/webapp/tests/index.html | 52 + .../integration/components/caller-info-test.js | 42 + .../components/column-selector-test.js | 87 ++ .../components/dags-page-search-test.js | 45 + .../components/dags-pagination-ui-test.js | 130 +++ .../components/date-formatter-test.js | 40 + .../em-swimlane-blocking-event-test.js | 117 +++ .../em-swimlane-consolidated-process-test.js | 61 ++ .../components/em-swimlane-event-bar-test.js | 45 + .../components/em-swimlane-event-test.js | 66 ++ .../components/em-swimlane-process-line-test.js | 68 ++ .../components/em-swimlane-process-name-test.js | 45 + .../em-swimlane-process-visual-test.js | 77 ++ .../components/em-swimlane-ruler-test.js | 70 ++ .../integration/components/em-swimlane-test.js | 93 ++ .../components/em-swimlane-vertex-name-test.js | 80 ++ .../components/em-table-status-cell-test.js | 44 + .../integration/components/em-tooltip-test.js | 80 ++ .../integration/components/error-bar-test.js | 43 + .../integration/components/stats-link-test.js | 38 + .../components/tab-n-refresh-test.js | 50 + .../components/table-controls-test.js | 43 + .../components/zip-download-modal-test.js | 46 + tez-ui/src/main/webapp/tests/test-helper.js | 24 + .../webapp/tests/unit/adapters/abstract-test.js | 110 ++ .../webapp/tests/unit/adapters/ahs-app-test.js | 34 + .../main/webapp/tests/unit/adapters/am-test.js | 50 + .../webapp/tests/unit/adapters/app-rm-test.js | 29 + .../main/webapp/tests/unit/adapters/app-test.js | 30 + .../tests/unit/adapters/attempt-am-test.js | 29 + .../webapp/tests/unit/adapters/attempt-test.js | 30 + .../webapp/tests/unit/adapters/dag-am-test.js | 29 + .../main/webapp/tests/unit/adapters/dag-test.js | 30 + .../webapp/tests/unit/adapters/loader-test.js | 137 +++ .../main/webapp/tests/unit/adapters/rm-test.js | 31 + .../webapp/tests/unit/adapters/task-am-test.js | 29 + .../webapp/tests/unit/adapters/task-test.js | 29 + .../webapp/tests/unit/adapters/timeline-test.js | 84 ++ .../tests/unit/adapters/vertex-am-test.js | 29 + .../webapp/tests/unit/adapters/vertex-test.js | 30 + .../tests/unit/controllers/abstract-test.js | 76 ++ .../webapp/tests/unit/controllers/app-test.js | 37 + .../tests/unit/controllers/app/configs-test.js | 40 + .../tests/unit/controllers/app/dags-test.js | 40 + .../tests/unit/controllers/app/index-test.js | 36 + .../tests/unit/controllers/application-test.js | 45 + .../tests/unit/controllers/attempt-test.js | 37 + .../unit/controllers/attempt/counters-test.js | 36 + .../unit/controllers/attempt/index-test.js | 35 + .../unit/controllers/counters-table-test.js | 91 ++ .../webapp/tests/unit/controllers/dag-test.js | 37 + .../tests/unit/controllers/dag/attempts-test.js | 41 + .../tests/unit/controllers/dag/counters-test.js | 36 + .../unit/controllers/dag/graphical-test.js | 47 + .../tests/unit/controllers/dag/index-test.js | 35 + .../unit/controllers/dag/index/index-test.js | 40 + .../tests/unit/controllers/dag/swimlane-test.js | 89 ++ .../tests/unit/controllers/dag/tasks-test.js | 41 + .../tests/unit/controllers/dag/vertices-test.js | 84 ++ .../webapp/tests/unit/controllers/dags-test.js | 52 + .../tests/unit/controllers/multi-table-test.js | 41 + .../webapp/tests/unit/controllers/page-test.js | 51 + .../tests/unit/controllers/parent-test.js | 36 + .../webapp/tests/unit/controllers/table-test.js | 65 ++ .../webapp/tests/unit/controllers/task-test.js | 37 + .../unit/controllers/task/attempts-test.js | 41 + .../unit/controllers/task/counters-test.js | 36 + .../tests/unit/controllers/task/index-test.js | 35 + .../tests/unit/controllers/vertex-test.js | 37 + .../unit/controllers/vertex/attempts-test.js | 41 + .../unit/controllers/vertex/counters-test.js | 36 + .../tests/unit/controllers/vertex/index-test.js | 35 + .../tests/unit/controllers/vertex/tasks-test.js | 41 + .../main/webapp/tests/unit/entities/am-test.js | 33 + .../tests/unit/entities/attempt-am-test.js | 31 + .../webapp/tests/unit/entities/entity-test.js | 263 +++++ .../webapp/tests/unit/entities/task-am-test.js | 31 + .../tests/unit/entities/vertex-am-test.js | 31 + .../tests/unit/initializers/entities-test.js | 40 + .../webapp/tests/unit/initializers/env-test.js | 40 + .../tests/unit/initializers/hosts-test.js | 38 + .../tests/unit/initializers/jquery-test.js | 38 + .../tests/unit/initializers/loader-test.js | 40 + .../unit/initializers/local-storage-test.js | 39 + .../unit/mixins/auto-counter-column-test.js | 78 ++ .../main/webapp/tests/unit/mixins/name-test.js | 44 + .../webapp/tests/unit/models/abstract-test.js | 63 ++ .../webapp/tests/unit/models/ahs-app-test.js | 31 + .../main/webapp/tests/unit/models/am-test.js | 31 + .../tests/unit/models/am-timeline-test.js | 34 + .../webapp/tests/unit/models/app-rm-test.js | 30 + .../main/webapp/tests/unit/models/app-test.js | 40 + .../webapp/tests/unit/models/attempt-am-test.js | 30 + .../webapp/tests/unit/models/attempt-test.js | 78 ++ .../webapp/tests/unit/models/dag-am-test.js | 30 + .../main/webapp/tests/unit/models/dag-test.js | 40 + .../main/webapp/tests/unit/models/rm-test.js | 30 + .../webapp/tests/unit/models/task-am-test.js | 30 + .../main/webapp/tests/unit/models/task-test.js | 61 ++ .../webapp/tests/unit/models/timeline-test.js | 124 +++ .../webapp/tests/unit/models/vertex-am-test.js | 37 + .../webapp/tests/unit/models/vertex-test.js | 69 ++ .../webapp/tests/unit/routes/abstract-test.js | 282 ++++++ .../tests/unit/routes/am-pollster-test.js | 35 + .../main/webapp/tests/unit/routes/app-test.js | 29 + .../tests/unit/routes/app/configs-test.js | 46 + .../webapp/tests/unit/routes/app/dags-test.js | 46 + .../webapp/tests/unit/routes/app/index-test.js | 46 + .../tests/unit/routes/application-test.js | 67 ++ .../webapp/tests/unit/routes/attempt-test.js | 32 + .../tests/unit/routes/attempt/counters-test.js | 46 + .../tests/unit/routes/attempt/index-test.js | 46 + .../main/webapp/tests/unit/routes/dag-test.js | 32 + .../tests/unit/routes/dag/attempts-test.js | 46 + .../tests/unit/routes/dag/counters-test.js | 47 + .../tests/unit/routes/dag/graphical-test.js | 38 + .../webapp/tests/unit/routes/dag/index-test.js | 47 + .../tests/unit/routes/dag/index/index-test.js | 50 + .../tests/unit/routes/dag/swimlane-test.js | 46 + .../webapp/tests/unit/routes/dag/tasks-test.js | 46 + .../tests/unit/routes/dag/vertices-test.js | 46 + .../main/webapp/tests/unit/routes/dags-test.js | 132 +++ .../tests/unit/routes/multi-am-pollster-test.js | 32 + .../webapp/tests/unit/routes/pollster-test.js | 39 + .../unit/routes/single-am-pollster-test.js | 32 + .../main/webapp/tests/unit/routes/task-test.js | 32 + .../tests/unit/routes/task/attempts-test.js | 46 + .../tests/unit/routes/task/counters-test.js | 46 + .../webapp/tests/unit/routes/task/index-test.js | 48 + .../webapp/tests/unit/routes/vertex-test.js | 32 + .../tests/unit/routes/vertex/attempts-test.js | 46 + .../tests/unit/routes/vertex/counters-test.js | 46 + .../tests/unit/routes/vertex/index-test.js | 46 + .../tests/unit/routes/vertex/tasks-test.js | 51 + .../tests/unit/serializers/ahs-app-test.js | 34 + .../webapp/tests/unit/serializers/am-test.js | 30 + .../tests/unit/serializers/app-rm-test.js | 30 + .../webapp/tests/unit/serializers/app-test.js | 31 + .../tests/unit/serializers/attempt-am-test.js | 31 + .../tests/unit/serializers/attempt-test.js | 48 + .../tests/unit/serializers/dag-am-test.js | 30 + .../webapp/tests/unit/serializers/dag-test.js | 131 +++ .../tests/unit/serializers/loader-test.js | 193 ++++ .../webapp/tests/unit/serializers/rm-test.js | 30 + .../tests/unit/serializers/task-am-test.js | 31 + .../webapp/tests/unit/serializers/task-test.js | 31 + .../tests/unit/serializers/timeline-test.js | 41 + .../tests/unit/serializers/vertex-am-test.js | 31 + .../tests/unit/serializers/vertex-test.js | 49 + .../main/webapp/tests/unit/services/env-test.js | 80 ++ .../webapp/tests/unit/services/hosts-test.js | 77 ++ .../webapp/tests/unit/services/loader-test.js | 311 ++++++ .../tests/unit/services/local-storage-test.js | 42 + .../webapp/tests/unit/services/pollster-test.js | 29 + .../webapp/tests/unit/transforms/object-test.js | 30 + .../utils/counter-column-definition-test.js | 124 +++ .../tests/unit/utils/download-dag-zip-test.js | 26 + .../main/webapp/tests/unit/utils/misc-test.js | 26 + .../tests/unit/utils/process-definition-test.js | 29 + .../webapp/tests/unit/utils/process-test.js | 165 +++ .../webapp/tests/unit/utils/processor-test.js | 68 ++ .../tests/unit/utils/vertex-process-test.js | 265 +++++ tez-ui/tools/server/nodejs_conf.json | 4 - tez-ui/tools/server/nodejs_webserver.js | 32 - tez-ui/tools/server/package.json | 8 - tez-ui2/README.md | 89 -- tez-ui2/findbugs-exclude.xml | 16 - tez-ui2/pom.xml | 229 ----- tez-ui2/src/main/resources/META-INF/LICENSE.txt | 402 -------- tez-ui2/src/main/resources/META-INF/NOTICE.txt | 10 - tez-ui2/src/main/webapp/.bowerrc | 4 - tez-ui2/src/main/webapp/.editorconfig | 34 - tez-ui2/src/main/webapp/.ember-cli | 9 - tez-ui2/src/main/webapp/.gitignore | 18 - tez-ui2/src/main/webapp/.jshintrc | 32 - tez-ui2/src/main/webapp/.travis.yml | 23 - tez-ui2/src/main/webapp/.watchmanconfig | 3 - tez-ui2/src/main/webapp/README.md | 57 -- tez-ui2/src/main/webapp/WEB-INF/web.xml | 25 - tez-ui2/src/main/webapp/WEB-INF/wro.xml | 9 - .../src/main/webapp/app/adapters/abstract.js | 70 -- tez-ui2/src/main/webapp/app/adapters/ahs-app.js | 27 - tez-ui2/src/main/webapp/app/adapters/am.js | 28 - tez-ui2/src/main/webapp/app/adapters/app-rm.js | 22 - tez-ui2/src/main/webapp/app/adapters/app.js | 22 - .../src/main/webapp/app/adapters/attempt-am.js | 22 - tez-ui2/src/main/webapp/app/adapters/attempt.js | 22 - tez-ui2/src/main/webapp/app/adapters/dag-am.js | 22 - tez-ui2/src/main/webapp/app/adapters/dag.js | 22 - tez-ui2/src/main/webapp/app/adapters/loader.js | 58 -- tez-ui2/src/main/webapp/app/adapters/rm.js | 26 - tez-ui2/src/main/webapp/app/adapters/task-am.js | 22 - tez-ui2/src/main/webapp/app/adapters/task.js | 22 - .../src/main/webapp/app/adapters/timeline.js | 106 -- .../src/main/webapp/app/adapters/vertex-am.js | 22 - tez-ui2/src/main/webapp/app/adapters/vertex.js | 22 - tez-ui2/src/main/webapp/app/app.js | 36 - .../main/webapp/app/components/caller-info.js | 78 -- .../webapp/app/components/column-selector.js | 104 -- .../webapp/app/components/dags-page-search.js | 53 - .../webapp/app/components/dags-pagination-ui.js | 106 -- .../webapp/app/components/date-formatter.js | 30 - .../components/em-swimlane-blocking-event.js | 75 -- .../em-swimlane-consolidated-process.js | 89 -- .../app/components/em-swimlane-event-bar.js | 91 -- .../webapp/app/components/em-swimlane-event.js | 62 -- .../app/components/em-swimlane-process-line.js | 60 -- .../app/components/em-swimlane-process-name.js | 45 - .../components/em-swimlane-process-visual.js | 66 -- .../webapp/app/components/em-swimlane-ruler.js | 98 -- .../app/components/em-swimlane-vertex-name.js | 71 -- .../main/webapp/app/components/em-swimlane.js | 171 ---- .../app/components/em-table-status-cell.js | 36 - .../main/webapp/app/components/em-tooltip.js | 159 --- .../src/main/webapp/app/components/error-bar.js | 109 -- .../main/webapp/app/components/stats-link.js | 33 - .../main/webapp/app/components/tab-n-refresh.js | 57 -- .../webapp/app/components/table-controls.js | 29 - .../webapp/app/components/zip-download-modal.js | 43 - .../src/main/webapp/app/controllers/abstract.js | 50 - tez-ui2/src/main/webapp/app/controllers/app.js | 44 - .../main/webapp/app/controllers/app/configs.js | 60 -- .../src/main/webapp/app/controllers/app/dags.js | 98 -- .../main/webapp/app/controllers/app/index.js | 33 - .../main/webapp/app/controllers/application.js | 40 - .../src/main/webapp/app/controllers/attempt.js | 56 -- .../webapp/app/controllers/attempt/counters.js | 26 - .../webapp/app/controllers/attempt/index.js | 22 - .../webapp/app/controllers/counters-table.js | 74 -- tez-ui2/src/main/webapp/app/controllers/dag.js | 56 -- .../main/webapp/app/controllers/dag/attempts.js | 120 --- .../main/webapp/app/controllers/dag/counters.js | 26 - .../webapp/app/controllers/dag/graphical.js | 174 ---- .../main/webapp/app/controllers/dag/index.js | 22 - .../webapp/app/controllers/dag/index/index.js | 129 --- .../main/webapp/app/controllers/dag/swimlane.js | 151 --- .../main/webapp/app/controllers/dag/tasks.js | 82 -- .../main/webapp/app/controllers/dag/vertices.js | 122 --- tez-ui2/src/main/webapp/app/controllers/dags.js | 166 ---- .../main/webapp/app/controllers/multi-table.js | 37 - tez-ui2/src/main/webapp/app/controllers/page.js | 23 - .../src/main/webapp/app/controllers/parent.js | 30 - .../src/main/webapp/app/controllers/table.js | 166 ---- tez-ui2/src/main/webapp/app/controllers/task.js | 54 - .../webapp/app/controllers/task/attempts.js | 98 -- .../webapp/app/controllers/task/counters.js | 26 - .../main/webapp/app/controllers/task/index.js | 23 - .../src/main/webapp/app/controllers/vertex.js | 52 - .../webapp/app/controllers/vertex/attempts.js | 110 -- .../webapp/app/controllers/vertex/counters.js | 26 - .../main/webapp/app/controllers/vertex/index.js | 50 - .../main/webapp/app/controllers/vertex/tasks.js | 72 -- tez-ui2/src/main/webapp/app/entities/am.js | 58 -- .../src/main/webapp/app/entities/attempt-am.js | 23 - tez-ui2/src/main/webapp/app/entities/entity.js | 181 ---- tez-ui2/src/main/webapp/app/entities/task-am.js | 23 - .../src/main/webapp/app/entities/vertex-am.js | 23 - .../main/webapp/app/errors/unlinked-promise.js | 34 - tez-ui2/src/main/webapp/app/index.html | 47 - .../main/webapp/app/initializers/entities.js | 29 - tez-ui2/src/main/webapp/app/initializers/env.js | 29 - .../src/main/webapp/app/initializers/hosts.js | 28 - .../src/main/webapp/app/initializers/jquery.js | 39 - .../src/main/webapp/app/initializers/loader.js | 27 - .../webapp/app/initializers/local-storage.js | 26 - .../webapp/app/mixins/auto-counter-column.js | 69 -- tez-ui2/src/main/webapp/app/mixins/name.js | 30 - tez-ui2/src/main/webapp/app/models/abstract.js | 60 -- tez-ui2/src/main/webapp/app/models/ahs-app.js | 43 - .../src/main/webapp/app/models/am-timeline.js | 46 - tez-ui2/src/main/webapp/app/models/am.js | 31 - tez-ui2/src/main/webapp/app/models/app-rm.js | 22 - tez-ui2/src/main/webapp/app/models/app.js | 46 - .../src/main/webapp/app/models/attempt-am.js | 22 - tez-ui2/src/main/webapp/app/models/attempt.js | 76 -- tez-ui2/src/main/webapp/app/models/dag-am.js | 22 - tez-ui2/src/main/webapp/app/models/dag.js | 70 -- tez-ui2/src/main/webapp/app/models/rm.js | 26 - tez-ui2/src/main/webapp/app/models/task-am.js | 22 - tez-ui2/src/main/webapp/app/models/task.js | 66 -- tez-ui2/src/main/webapp/app/models/timeline.js | 91 -- tez-ui2/src/main/webapp/app/models/vertex-am.js | 38 - tez-ui2/src/main/webapp/app/models/vertex.js | 146 --- tez-ui2/src/main/webapp/app/router.js | 59 -- tez-ui2/src/main/webapp/app/routes/abstract.js | 189 ---- .../src/main/webapp/app/routes/am-pollster.js | 93 -- tez-ui2/src/main/webapp/app/routes/app.js | 38 - .../src/main/webapp/app/routes/app/configs.js | 37 - tez-ui2/src/main/webapp/app/routes/app/dags.js | 37 - tez-ui2/src/main/webapp/app/routes/app/index.js | 39 - .../src/main/webapp/app/routes/application.js | 84 -- tez-ui2/src/main/webapp/app/routes/attempt.js | 38 - .../main/webapp/app/routes/attempt/counters.js | 35 - .../src/main/webapp/app/routes/attempt/index.js | 35 - tez-ui2/src/main/webapp/app/routes/dag.js | 38 - .../src/main/webapp/app/routes/dag/attempts.js | 37 - .../src/main/webapp/app/routes/dag/counters.js | 36 - .../src/main/webapp/app/routes/dag/graphical.js | 81 -- tez-ui2/src/main/webapp/app/routes/dag/index.js | 58 -- .../main/webapp/app/routes/dag/index/index.js | 62 -- .../src/main/webapp/app/routes/dag/swimlane.js | 51 - tez-ui2/src/main/webapp/app/routes/dag/tasks.js | 37 - .../src/main/webapp/app/routes/dag/vertices.js | 37 - tez-ui2/src/main/webapp/app/routes/dags.js | 167 ---- .../main/webapp/app/routes/multi-am-pollster.js | 35 - tez-ui2/src/main/webapp/app/routes/pollster.js | 70 -- .../webapp/app/routes/single-am-pollster.js | 34 - tez-ui2/src/main/webapp/app/routes/task.js | 38 - .../src/main/webapp/app/routes/task/attempts.js | 37 - .../src/main/webapp/app/routes/task/counters.js | 35 - .../src/main/webapp/app/routes/task/index.js | 47 - tez-ui2/src/main/webapp/app/routes/vertex.js | 38 - .../main/webapp/app/routes/vertex/attempts.js | 37 - .../main/webapp/app/routes/vertex/counters.js | 35 - .../src/main/webapp/app/routes/vertex/index.js | 35 - .../src/main/webapp/app/routes/vertex/tasks.js | 37 - .../src/main/webapp/app/serializers/ahs-app.js | 49 - tez-ui2/src/main/webapp/app/serializers/am.js | 41 - .../src/main/webapp/app/serializers/app-rm.js | 33 - tez-ui2/src/main/webapp/app/serializers/app.js | 32 - .../main/webapp/app/serializers/attempt-am.js | 23 - .../src/main/webapp/app/serializers/attempt.js | 44 - .../src/main/webapp/app/serializers/dag-am.js | 28 - tez-ui2/src/main/webapp/app/serializers/dag.js | 151 --- .../src/main/webapp/app/serializers/loader.js | 93 -- tez-ui2/src/main/webapp/app/serializers/rm.js | 28 - .../src/main/webapp/app/serializers/task-am.js | 23 - tez-ui2/src/main/webapp/app/serializers/task.js | 28 - .../src/main/webapp/app/serializers/timeline.js | 54 - .../main/webapp/app/serializers/vertex-am.js | 36 - .../src/main/webapp/app/serializers/vertex.js | 59 -- tez-ui2/src/main/webapp/app/services/env.js | 63 -- tez-ui2/src/main/webapp/app/services/hosts.js | 71 -- tez-ui2/src/main/webapp/app/services/loader.js | 151 --- .../main/webapp/app/services/local-storage.js | 39 - .../src/main/webapp/app/services/pollster.js | 110 -- tez-ui2/src/main/webapp/app/styles/app.less | 52 - .../src/main/webapp/app/styles/caller-info.less | 26 - tez-ui2/src/main/webapp/app/styles/colors.less | 44 - .../main/webapp/app/styles/column-selector.less | 78 -- .../webapp/app/styles/dags-page-search.less | 85 -- .../main/webapp/app/styles/date-formatter.less | 21 - .../main/webapp/app/styles/details-page.less | 58 -- .../app/styles/em-swimlane-vertex-name.less | 65 -- .../src/main/webapp/app/styles/em-swimlane.less | 246 ----- .../webapp/app/styles/em-table-status-cell.less | 99 -- .../src/main/webapp/app/styles/em-tooltip.less | 119 --- .../src/main/webapp/app/styles/error-bar.less | 102 -- .../src/main/webapp/app/styles/page-layout.less | 154 --- tez-ui2/src/main/webapp/app/styles/shared.less | 57 -- .../main/webapp/app/styles/swimlane-page.less | 91 -- .../main/webapp/app/styles/tab-n-refresh.less | 42 - .../main/webapp/app/styles/table-controls.less | 26 - tez-ui2/src/main/webapp/app/styles/tooltip.less | 24 - .../webapp/app/styles/zip-download-modal.less | 30 - tez-ui2/src/main/webapp/app/templates/app.hbs | 20 - .../main/webapp/app/templates/app/configs.hbs | 34 - .../src/main/webapp/app/templates/app/dags.hbs | 37 - .../src/main/webapp/app/templates/app/index.hbs | 127 --- .../main/webapp/app/templates/application.hbs | 67 -- .../src/main/webapp/app/templates/attempt.hbs | 20 - .../webapp/app/templates/attempt/counters.hbs | 34 - .../main/webapp/app/templates/attempt/index.hbs | 95 -- .../app/templates/components/caller-info.hbs | 24 - .../templates/components/column-selector.hbs | 50 - .../templates/components/dags-page-search.hbs | 77 -- .../templates/components/dags-pagination-ui.hbs | 50 - .../app/templates/components/date-formatter.hbs | 19 - .../components/em-swimlane-blocking-event.hbs | 19 - .../em-swimlane-consolidated-process.hbs | 19 - .../components/em-swimlane-event-bar.hbs | 19 - .../templates/components/em-swimlane-event.hbs | 20 - .../components/em-swimlane-process-line.hbs | 19 - .../components/em-swimlane-process-name.hbs | 19 - .../components/em-swimlane-process-visual.hbs | 57 -- .../templates/components/em-swimlane-ruler.hbs | 30 - .../components/em-swimlane-vertex-name.hbs | 23 - .../app/templates/components/em-swimlane.hbs | 63 -- .../components/em-table-status-cell.hbs | 26 - .../app/templates/components/em-tooltip.hbs | 54 - .../app/templates/components/error-bar.hbs | 31 - .../app/templates/components/stats-link.hbs | 25 - .../app/templates/components/tab-n-refresh.hbs | 44 - .../app/templates/components/table-controls.hbs | 19 - .../templates/components/zip-download-modal.hbs | 36 - tez-ui2/src/main/webapp/app/templates/dag.hbs | 20 - .../main/webapp/app/templates/dag/attempts.hbs | 37 - .../main/webapp/app/templates/dag/counters.hbs | 34 - .../main/webapp/app/templates/dag/graphical.hbs | 32 - .../src/main/webapp/app/templates/dag/index.hbs | 100 -- .../webapp/app/templates/dag/index/index.hbs | 81 -- .../main/webapp/app/templates/dag/swimlane.hbs | 42 - .../src/main/webapp/app/templates/dag/tasks.hbs | 37 - .../main/webapp/app/templates/dag/vertices.hbs | 37 - tez-ui2/src/main/webapp/app/templates/dags.hbs | 42 - .../src/main/webapp/app/templates/loading.hbs | 24 - .../main/webapp/app/templates/simple-modal.hbs | 35 - tez-ui2/src/main/webapp/app/templates/task.hbs | 20 - .../main/webapp/app/templates/task/attempts.hbs | 37 - .../main/webapp/app/templates/task/counters.hbs | 34 - .../main/webapp/app/templates/task/index.hbs | 110 -- .../src/main/webapp/app/templates/vertex.hbs | 20 - .../webapp/app/templates/vertex/attempts.hbs | 37 - .../webapp/app/templates/vertex/counters.hbs | 34 - .../main/webapp/app/templates/vertex/index.hbs | 143 --- .../main/webapp/app/templates/vertex/tasks.hbs | 37 - .../src/main/webapp/app/transforms/object.js | 29 - .../app/utils/counter-column-definition.js | 97 -- .../main/webapp/app/utils/download-dag-zip.js | 407 -------- tez-ui2/src/main/webapp/app/utils/misc.js | 23 - .../main/webapp/app/utils/process-definition.js | 21 - tez-ui2/src/main/webapp/app/utils/process.js | 122 --- tez-ui2/src/main/webapp/app/utils/processor.js | 50 - .../src/main/webapp/app/utils/vertex-process.js | 273 ----- tez-ui2/src/main/webapp/blueprints/.jshintrc | 6 - .../files/tests/unit/entities/__name__-test.js | 30 - .../main/webapp/blueprints/entity-test/index.js | 35 - .../entity/files/app/entities/__name__.js | 22 - .../src/main/webapp/blueprints/entity/index.js | 31 - tez-ui2/src/main/webapp/bower.json | 27 - tez-ui2/src/main/webapp/config/build-info.js | 32 - tez-ui2/src/main/webapp/config/configs.env | 57 -- .../src/main/webapp/config/default-app-conf.js | 333 ------- tez-ui2/src/main/webapp/config/environment.js | 70 -- tez-ui2/src/main/webapp/ember-cli-build.js | 76 -- tez-ui2/src/main/webapp/package.json | 63 -- .../webapp/public/assets/images/favicon.png | Bin 1416 -> 0 bytes .../main/webapp/public/assets/images/logo.png | Bin 77160 -> 0 bytes tez-ui2/src/main/webapp/testem.json | 12 - tez-ui2/src/main/webapp/tests/.jshintrc | 52 - .../main/webapp/tests/helpers/destroy-app.js | 23 - .../tests/helpers/module-for-acceptance.js | 41 - .../src/main/webapp/tests/helpers/resolver.js | 29 - .../src/main/webapp/tests/helpers/start-app.js | 36 - tez-ui2/src/main/webapp/tests/index.html | 52 - .../integration/components/caller-info-test.js | 42 - .../components/column-selector-test.js | 87 -- .../components/dags-page-search-test.js | 45 - .../components/dags-pagination-ui-test.js | 130 --- .../components/date-formatter-test.js | 40 - .../em-swimlane-blocking-event-test.js | 117 --- .../em-swimlane-consolidated-process-test.js | 61 -- .../components/em-swimlane-event-bar-test.js | 45 - .../components/em-swimlane-event-test.js | 66 -- .../components/em-swimlane-process-line-test.js | 68 -- .../components/em-swimlane-process-name-test.js | 45 - .../em-swimlane-process-visual-test.js | 77 -- .../components/em-swimlane-ruler-test.js | 70 -- .../integration/components/em-swimlane-test.js | 93 -- .../components/em-swimlane-vertex-name-test.js | 80 -- .../components/em-table-status-cell-test.js | 44 - .../integration/components/em-tooltip-test.js | 80 -- .../integration/components/error-bar-test.js | 43 - .../integration/components/stats-link-test.js | 38 - .../components/tab-n-refresh-test.js | 50 - .../components/table-controls-test.js | 43 - .../components/zip-download-modal-test.js | 46 - tez-ui2/src/main/webapp/tests/test-helper.js | 24 - .../webapp/tests/unit/adapters/abstract-test.js | 110 -- .../webapp/tests/unit/adapters/ahs-app-test.js | 34 - .../main/webapp/tests/unit/adapters/am-test.js | 50 - .../webapp/tests/unit/adapters/app-rm-test.js | 29 - .../main/webapp/tests/unit/adapters/app-test.js | 30 - .../tests/unit/adapters/attempt-am-test.js | 29 - .../webapp/tests/unit/adapters/attempt-test.js | 30 - .../webapp/tests/unit/adapters/dag-am-test.js | 29 - .../main/webapp/tests/unit/adapters/dag-test.js | 30 - .../webapp/tests/unit/adapters/loader-test.js | 137 --- .../main/webapp/tests/unit/adapters/rm-test.js | 31 - .../webapp/tests/unit/adapters/task-am-test.js | 29 - .../webapp/tests/unit/adapters/task-test.js | 29 - .../webapp/tests/unit/adapters/timeline-test.js | 84 -- .../tests/unit/adapters/vertex-am-test.js | 29 - .../webapp/tests/unit/adapters/vertex-test.js | 30 - .../tests/unit/controllers/abstract-test.js | 76 -- .../webapp/tests/unit/controllers/app-test.js | 37 - .../tests/unit/controllers/app/configs-test.js | 40 - .../tests/unit/controllers/app/dags-test.js | 40 - .../tests/unit/controllers/app/index-test.js | 36 - .../tests/unit/controllers/application-test.js | 45 - .../tests/unit/controllers/attempt-test.js | 37 - .../unit/controllers/attempt/counters-test.js | 36 - .../unit/controllers/attempt/index-test.js | 35 - .../unit/controllers/counters-table-test.js | 91 -- .../webapp/tests/unit/controllers/dag-test.js | 37 - .../tests/unit/controllers/dag/attempts-test.js | 41 - .../tests/unit/controllers/dag/counters-test.js | 36 - .../unit/controllers/dag/graphical-test.js | 47 - .../tests/unit/controllers/dag/index-test.js | 35 - .../unit/controllers/dag/index/index-test.js | 40 - .../tests/unit/controllers/dag/swimlane-test.js | 89 -- .../tests/unit/controllers/dag/tasks-test.js | 41 - .../tests/unit/controllers/dag/vertices-test.js | 84 -- .../webapp/tests/unit/controllers/dags-test.js | 52 - .../tests/unit/controllers/multi-table-test.js | 41 - .../webapp/tests/unit/controllers/page-test.js | 51 - .../tests/unit/controllers/parent-test.js | 36 - .../webapp/tests/unit/controllers/table-test.js | 65 -- .../webapp/tests/unit/controllers/task-test.js | 37 - .../unit/controllers/task/attempts-test.js | 41 - .../unit/controllers/task/counters-test.js | 36 - .../tests/unit/controllers/task/index-test.js | 35 - .../tests/unit/controllers/vertex-test.js | 37 - .../unit/controllers/vertex/attempts-test.js | 41 - .../unit/controllers/vertex/counters-test.js | 36 - .../tests/unit/controllers/vertex/index-test.js | 35 - .../tests/unit/controllers/vertex/tasks-test.js | 41 - .../main/webapp/tests/unit/entities/am-test.js | 33 - .../tests/unit/entities/attempt-am-test.js | 31 - .../webapp/tests/unit/entities/entity-test.js | 263 ----- .../webapp/tests/unit/entities/task-am-test.js | 31 - .../tests/unit/entities/vertex-am-test.js | 31 - .../tests/unit/initializers/entities-test.js | 40 - .../webapp/tests/unit/initializers/env-test.js | 40 - .../tests/unit/initializers/hosts-test.js | 38 - .../tests/unit/initializers/jquery-test.js | 38 - .../tests/unit/initializers/loader-test.js | 40 - .../unit/initializers/local-storage-test.js | 39 - .../unit/mixins/auto-counter-column-test.js | 78 -- .../main/webapp/tests/unit/mixins/name-test.js | 44 - .../webapp/tests/unit/models/abstract-test.js | 63 -- .../webapp/tests/unit/models/ahs-app-test.js | 31 - .../main/webapp/tests/unit/models/am-test.js | 31 - .../tests/unit/models/am-timeline-test.js | 34 - .../webapp/tests/unit/models/app-rm-test.js | 30 - .../main/webapp/tests/unit/models/app-test.js | 40 - .../webapp/tests/unit/models/attempt-am-test.js | 30 - .../webapp/tests/unit/models/attempt-test.js | 78 -- .../webapp/tests/unit/models/dag-am-test.js | 30 - .../main/webapp/tests/unit/models/dag-test.js | 40 - .../main/webapp/tests/unit/models/rm-test.js | 30 - .../webapp/tests/unit/models/task-am-test.js | 30 - .../main/webapp/tests/unit/models/task-test.js | 61 -- .../webapp/tests/unit/models/timeline-test.js | 124 --- .../webapp/tests/unit/models/vertex-am-test.js | 37 - .../webapp/tests/unit/models/vertex-test.js | 69 -- .../webapp/tests/unit/routes/abstract-test.js | 282 ------ .../tests/unit/routes/am-pollster-test.js | 35 - .../main/webapp/tests/unit/routes/app-test.js | 29 - .../tests/unit/routes/app/configs-test.js | 46 - .../webapp/tests/unit/routes/app/dags-test.js | 46 - .../webapp/tests/unit/routes/app/index-test.js | 46 - .../tests/unit/routes/application-test.js | 67 -- .../webapp/tests/unit/routes/attempt-test.js | 32 - .../tests/unit/routes/attempt/counters-test.js | 46 - .../tests/unit/routes/attempt/index-test.js | 46 - .../main/webapp/tests/unit/routes/dag-test.js | 32 - .../tests/unit/routes/dag/attempts-test.js | 46 - .../tests/unit/routes/dag/counters-test.js | 47 - .../tests/unit/routes/dag/graphical-test.js | 38 - .../webapp/tests/unit/routes/dag/index-test.js | 47 - .../tests/unit/routes/dag/index/index-test.js | 50 - .../tests/unit/routes/dag/swimlane-test.js | 46 - .../webapp/tests/unit/routes/dag/tasks-test.js | 46 - .../tests/unit/routes/dag/vertices-test.js | 46 - .../main/webapp/tests/unit/routes/dags-test.js | 132 --- .../tests/unit/routes/multi-am-pollster-test.js | 32 - .../webapp/tests/unit/routes/pollster-test.js | 39 - .../unit/routes/single-am-pollster-test.js | 32 - .../main/webapp/tests/unit/routes/task-test.js | 32 - .../tests/unit/routes/task/attempts-test.js | 46 - .../tests/unit/routes/task/counters-test.js | 46 - .../webapp/tests/unit/routes/task/index-test.js | 48 - .../webapp/tests/unit/routes/vertex-test.js | 32 - .../tests/unit/routes/vertex/attempts-test.js | 46 - .../tests/unit/routes/vertex/counters-test.js | 46 - .../tests/unit/routes/vertex/index-test.js | 46 - .../tests/unit/routes/vertex/tasks-test.js | 51 - .../tests/unit/serializers/ahs-app-test.js | 34 - .../webapp/tests/unit/serializers/am-test.js | 30 - .../tests/unit/serializers/app-rm-test.js | 30 - .../webapp/tests/unit/serializers/app-test.js | 31 - .../tests/unit/serializers/attempt-am-test.js | 31 - .../tests/unit/serializers/attempt-test.js | 48 - .../tests/unit/serializers/dag-am-test.js | 30 - .../webapp/tests/unit/serializers/dag-test.js | 131 --- .../tests/unit/serializers/loader-test.js | 193 ---- .../webapp/tests/unit/serializers/rm-test.js | 30 - .../tests/unit/serializers/task-am-test.js | 31 - .../webapp/tests/unit/serializers/task-test.js | 31 - .../tests/unit/serializers/timeline-test.js | 41 - .../tests/unit/serializers/vertex-am-test.js | 31 - .../tests/unit/serializers/vertex-test.js | 49 - .../main/webapp/tests/unit/services/env-test.js | 80 -- .../webapp/tests/unit/services/hosts-test.js | 77 -- .../webapp/tests/unit/services/loader-test.js | 311 ------ .../tests/unit/services/local-storage-test.js | 42 - .../webapp/tests/unit/services/pollster-test.js | 29 - .../webapp/tests/unit/transforms/object-test.js | 30 - .../utils/counter-column-definition-test.js | 124 --- .../tests/unit/utils/download-dag-zip-test.js | 26 - .../main/webapp/tests/unit/utils/misc-test.js | 26 - .../tests/unit/utils/process-definition-test.js | 29 - .../webapp/tests/unit/utils/process-test.js | 165 --- .../webapp/tests/unit/utils/processor-test.js | 68 -- .../tests/unit/utils/vertex-process-test.js | 265 ----- 994 files changed, 23706 insertions(+), 42158 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index f9f295f..612ecef 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -16,6 +16,7 @@ ALL CHANGES: TEZ-3210. Tez UI 2: license should account for numeral, more-js, loader.js , etc TEZ-3087. Tez UI 2: Add log links in task & attempt details page TEZ-3146. Tez UI 2: CSS & JS assets in the UI must be minified + TEZ-3227. Tez UI: Replace UI1 with UI2 Release 0.8.4: Unreleased http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 5e2a8ba..336f5cb 100644 --- a/pom.xml +++ b/pom.xml @@ -707,7 +707,6 @@ <module>tez-dag</module> <module>tez-ext-service-tests</module> <module>tez-ui</module> - <module>tez-ui2</module> <module>tez-plugins</module> <module>tez-tools</module> <module>hadoop-shim-impls</module> http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/README.TXT ---------------------------------------------------------------------- diff --git a/tez-ui/README.TXT b/tez-ui/README.TXT deleted file mode 100644 index e3d98f5..0000000 --- a/tez-ui/README.TXT +++ /dev/null @@ -1,91 +0,0 @@ -<!-- - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -Configurations --------------- - For the UI to work as expected with all the required data, the following configuration options -should be set. - -In tez-site.xml - * tez.runtime.convert.user-payload.to.history-text - Should be enabled to get the configuration options. If enabled, the config options are set - as userpayload per input/output. - -In yarn-site.xml - * yarn.timeline-service.http-cross-origin.enabled - Enable CORS in timeline. - * yarn.resourcemanager.system-metrics-publisher.enabled - Enable generic history service in timeline server - * yarn.timeline-service.enabled - Enabled the timeline server for logging details - * yarn.timeline-service.webapp.address - Value must be the IP:PORT on which timeline server is running - -In configs.js - * Both timeline and RM base URLs can be customized in app/scripts/configs.js. By default their - values are http://localhost:8188 and http://localhost:8088 respectively. - * Visibility of table columns can be controlled using the column selector. Also an optional set - of file system counters can be made visible as columns for most of the tables. For adding more - counters refer configs.js. - * Timezone defaults to displaying timestamps in local timezone. For configuring to a specific - timezone, configure the timezone value referring to http://momentjs.com/timezone/docs/ - for valid entries. - -Building ---------- - * To build UI without running test cases, run 'mvn clean package -DskipTests' in tez-ui directory. - * The build will create a war file inside tez-ui/target. - * UI build is part of tez build, refer BUILDING.txt in tez for more info. - -Using the war -------------- -Remotely: - Use webfront tomcat manager to upload & deploy your war remotely. -Manually: - The war can be added to any tomcat instance. - 1. Remove any old deployments in $TOMCAT_HOME/webapps - 2. Copy the war to $TOMCAT_HOME/webapps - 3. Restart tomcat and the war will get deployed. The content of the war would be available in - $TOMCAT_HOME/webapps/tez-ui-x.x.x-SNAPSHOT. - -Using the Nodejs webserver ---------------------------- -This provides an alternative way to host tez_ui. This should be used by -people who would like to host tez_ui by nodejs. - 1. Install nodejs by package manager. Instructions for this are available at - "https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager" - 2. Install server dependencies by running 'npm install' within 'tez-ui/tools/server' - 3. Untar the tez-ui*.war file and copy the resulting directory to the - directory designated to be the document root of the web server. - 4. Specify the document root directory and the port on which you want to run the - webserver in nodejs_conf.json. Currently, the conf file should be present in the - same directory as the nodejs_webserver). - The default values for the document root directory and the port are './public' - and 8080 respectively. - 5. Start the nodejs_webserver.js by 'node nodejs_webserver.js' - -Dev setup instructions ----------------------- -Install the development dependencies nodejs, npm, grunt and bower. -From src/main/webapp directory run the following commands. - * npm install - * bower install - -For development run 'grunt serve'. This runs a dev server on port 9001. -navigate to http://localhost:9001 if a browser does not open automatically. -Any changes made will be live-reloaded on the browser. - http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/README.md ---------------------------------------------------------------------- diff --git a/tez-ui/README.md b/tez-ui/README.md new file mode 100644 index 0000000..f8985fe --- /dev/null +++ b/tez-ui/README.md @@ -0,0 +1,89 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> + +# Tez-ui + +The Tez UI is an ember based web-app that provides visualization of Tez applications running on the Apache Hadoop YARN framework. + +For more information on Tez and the Tez UI - Check the [Tez homepage](http://tez.apache.org/ "Apache Tez Homepage"). + +## Configurations + +### In tez-site.xml + * `tez.runtime.convert.user-payload.to.history-text` : Should be enabled to get the configuration options in. If enabled, the config options are set as userpayload per input/output. + +### In yarn-site.xml + * `yarn.timeline-service.http-cross-origin.enabled` : Enable CORS in timeline. + * `yarn.resourcemanager.system-metrics-publisher.enabled` : Enable generic history service in timeline server + * `yarn.timeline-service.enabled` : Enabled the timeline server for logging details + * `yarn.timeline-service.webapp.address` : Value must be the IP:PORT on which timeline server is running + +### In configs.env + This environment configuration file can be found at `./src/main/webapp/config/configs.env` + + * `ENV.hosts.timeline` : Timeline Server Address. By default TEZ UI looks for timeline server at http://localhost:8188. + * `ENV.hosts.rm` : Resource Manager Address. By default RM REST APIs are expected to be at http://localhost:8088. + * `ENV.hosts.rmProxy` : This is options. Value configured as RM host will be taken as proxy address by default. Use this configuration when RM web proxy is configured at a different address than RM. + * `ENV.timeZone` : Time Zone in which dates are displayed in the UI. If not set, local time zone will be used. Refer http://momentjs.com/timezone/docs/ for valid entries. + +## Package & deploy + +### Get war package + * Tez UI is distributed as a war package. + * To build & package UI without running test cases, run `mvn clean package -DskipTests` in this directory. + * This would give you a war file in `./target`. + * UI build is part of tez build, refer BUILDING.txt for more info. + +### Using UI war +##### Remotely: + Use webfront tomcat manager to upload & deploy your war remotely. +##### Manually: + The war can be added to any tomcat instance. + 1. Remove any old deployments in `$TOMCAT_HOME/webapps` + 2. Copy the war to `$TOMCAT_HOME/webapps` + 3. Restart tomcat and the war will get deployed. The content of the war would be available in + `$TOMCAT_HOME/webapps/tez-ui-[version]` directory. + +## Development + +All the following commands must be run inside `src/main/webapp`. + +### Prerequisites + +You will need the following things properly installed on your computer. + +* Install [Node.js](http://nodejs.org/) (with NPM) +* Install [Bower](http://bower.io/) +* Install all dependencies by running `npm install` & `bower install` + +### Running UI + +* `npm start` +* Visit your app at [http://localhost:4200](http://localhost:4200). + +### Running Tests + +* `npm test` + +### Building + +* `npm run build` (production) +* Files would be stored in "dist/" + +### Adding new routes (pages), controllers, components etc. + +* Use ember-cli blueprint generator - [Ember CLI](http://ember-cli.com/extending/#generators-and-blueprints) http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/pom.xml ---------------------------------------------------------------------- diff --git a/tez-ui/pom.xml b/tez-ui/pom.xml index 4e94764..58b9c17 100644 --- a/tez-ui/pom.xml +++ b/tez-ui/pom.xml @@ -31,8 +31,42 @@ <node.executable>${basedir}/src/main/webapp/node/node</node.executable> <nodeVersion>v0.12.2</nodeVersion> <npmVersion>2.15.3</npmVersion> + <skipTests>false</skipTests> </properties> + <profiles> + <profile> + <id>cleanUICache</id> + <activation> + <activeByDefault>false</activeByDefault> + </activation> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-clean-plugin</artifactId> + <configuration> + <filesets> + <fileset> + <directory>${webappDir}/tmp</directory> + </fileset> + <fileset> + <directory>${webappDir}/node</directory> + </fileset> + <fileset> + <directory>${webappDir}/node_modules</directory> + </fileset> + <fileset> + <directory>${webappDir}/bower_components</directory> + </fileset> + </filesets> + </configuration> + </plugin> + </plugins> + </build> + </profile> + </profiles> + <build> <plugins> @@ -44,20 +78,30 @@ <excludes> <exclude>src/main/webapp/node/**/*</exclude> <exclude>src/main/webapp/node_modules/**/*</exclude> - <exclude>src/main/webapp/app/bower_components/**/*</exclude> - <exclude>src/main/webapp/.tmp/</exclude> + <exclude>src/main/webapp/bower_components/**/*</exclude> + <exclude>src/main/webapp/.tmp/**/*</exclude> <exclude>src/main/webapp/dist/**/*</exclude> + <exclude>src/main/webapp/tmp/**/*</exclude> <exclude>src/main/webapp/.bowerrc</exclude> + <exclude>src/main/webapp/.editorconfig</exclude> + <exclude>src/main/webapp/.ember-cli</exclude> + <exclude>src/main/webapp/.gitignore</exclude> <exclude>src/main/webapp/.jshintrc</exclude> + <exclude>src/main/webapp/tests/.jshintrc</exclude> + <exclude>src/main/webapp/blueprints/.jshintrc</exclude> + <exclude>src/main/webapp/.travis.yml</exclude> + <exclude>src/main/webapp/.watchmanconfig</exclude> <exclude>src/main/webapp/bower.json</exclude> + <exclude>src/main/webapp/ember-cli-build.js</exclude> <exclude>src/main/webapp/package.json</exclude> - <exclude>tools/server/nodejs_conf.json</exclude> - <exclude>tools/server/package.json</exclude> + <exclude>src/main/webapp/testem.json</exclude> + <exclude>src/main/webapp/public/assets/images/*</exclude> + <exclude>src/main/webapp/WEB-INF/wro.xml</exclude> </excludes> </configuration> </plugin> - <!-- NPM Install --> + <!-- Install Node & dependencies --> <plugin> <groupId>com.github.eirslett</groupId> <artifactId>frontend-maven-plugin</artifactId> @@ -66,7 +110,7 @@ </configuration> <executions> <execution> - <phase>generate-sources</phase> + <phase>generate-resources</phase> <id>install node and npm</id> <goals> <goal>install-node-and-npm</goal> @@ -77,23 +121,30 @@ </configuration> </execution> <execution> - <phase>generate-sources</phase> + <phase>generate-resources</phase> <id>npm install</id> <goals> <goal>npm</goal> </goals> </execution> + <execution> + <phase>generate-resources</phase> + <id>bower install</id> + <goals> + <goal>bower</goal> + </goals> + </execution> </executions> </plugin> - <!-- Bower install & grunt build--> + <!-- Build & Test --> <plugin> <artifactId>exec-maven-plugin</artifactId> <groupId>org.codehaus.mojo</groupId> <executions> <execution> - <id>Bower install</id> - <phase>generate-sources</phase> + <id>ember build</id> + <phase>generate-resources</phase> <goals> <goal>exec</goal> </goals> @@ -101,38 +152,65 @@ <workingDirectory>${webappDir}</workingDirectory> <executable>${node.executable}</executable> <arguments> - <argument>node_modules/bower/bin/bower</argument> - <argument>install</argument> - <argument>--remove-unnecessary-resolutions=false</argument> + <argument>node/npm/bin/npm-cli</argument> + <argument>run</argument> + <argument>build:mvn</argument> </arguments> </configuration> </execution> <execution> - <id>grunt build</id> - <phase>generate-sources</phase> + <id>ember test</id> + <phase>test</phase> <goals> <goal>exec</goal> </goals> <configuration> + <skip>${skipTests}</skip> <workingDirectory>${webappDir}</workingDirectory> <executable>${node.executable}</executable> <arguments> - <argument>node_modules/grunt-cli/bin/grunt</argument> - <argument>build</argument> + <argument>node/npm/bin/npm-cli</argument> + <argument>run</argument> + <argument>test:mvn</argument> </arguments> </configuration> </execution> </executions> </plugin> + <!-- Asset minifier --> + <plugin> + <groupId>ro.isdc.wro4j</groupId> + <artifactId>wro4j-maven-plugin</artifactId> + <executions> + <execution> + <phase>prepare-package</phase> + <goals> + <goal>run</goal> + </goals> + </execution> + </executions> + <configuration> + <minimize>true</minimize> + <targetGroups>tez-ui,vendor</targetGroups> + <destinationFolder>${basedir}/target/minified-resources/assets</destinationFolder> + <contextFolder>${webappDir}/dist/assets</contextFolder> + <wroFile>${basedir}/src/main/webapp/WEB-INF/wro.xml</wroFile> + </configuration> + </plugin> + <!-- Package into war --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> + <executions> + <execution> + <phase>package</phase> + </execution> + </executions> <configuration> <webXml>${basedir}/src/main/webapp/WEB-INF/web.xml</webXml> <warSourceDirectory>${webappDir}/dist</warSourceDirectory> - <warSourceExcludes>**/configs.js</warSourceExcludes> <webResources> <resource> <filtering>false</filtering> @@ -140,13 +218,7 @@ </resource> <resource> <filtering>false</filtering> - <directory>${webappDir}/dist</directory> - <exclude>**/configs.js</exclude> - </resource> - <resource> - <filtering>true</filtering> - <directory>${webappDir}/dist</directory> - <include>**/configs.js</include> + <directory>${basedir}/target/minified-resources</directory> </resource> </webResources> </configuration> http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/resources/META-INF/LICENSE.txt ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/resources/META-INF/LICENSE.txt b/tez-ui/src/main/resources/META-INF/LICENSE.txt index 4f0c9d4..708d33f 100644 --- a/tez-ui/src/main/resources/META-INF/LICENSE.txt +++ b/tez-ui/src/main/resources/META-INF/LICENSE.txt @@ -215,20 +215,37 @@ licenses. The Apache TEZ tez-ui bundles the following files under the MIT License: - - antiscroll v1.0.0 (https://github.com/LearnBoost/antiscroll) - Copyright (c) 2011 Guillermo Rauch <[email protected]> - - bootstrap v3.3.1 (http://getbootstrap.com) - Copyright (c) 2011-2014 Twitter, Inc - - ember v1.7.0 (http://emberjs.com/) - Copyright (c) 2014 Yehuda Katz, Tom Dale and Ember.js contributors - - ember-data v1.0.0-beta.11 (https://github.com/emberjs/data) - Copyright (C) 2011-2014 Tilde, Inc. and contributors, Portions Copyright (C) 2011 LivingSocial Inc. - - ember-json-mapper v1.0.0 (https://github.com/onechiporenko/ember-json-mapper) - Copyright (c) 2014 onechiporenko - - font-awesome css/less files v4.2.0 (http://fontawesome.io/) - Created by Dave Gandy - - handlebars v1.3.0 (http://handlebarsjs.com/) - Copyright (C) 2011-2014 by Yehuda Katz - - jquery v1.10.2 (http://jquery.org) - Copyright 2005, 2014 jQuery Foundation and other contributors - - jquery-mousewheel v3.1.12 (https://github.com/jquery/jquery-mousewheel) - Copyright 2006, 2014 jQuery Foundation and other contributors, https://jquery.org/ - - jquery-ui v1.11 (http://jqueryui.com/) - Copyright 2014 jQuery Foundation and other contributors - - moment v2.10.6 (http://momentjs.com/) - Copyright (c) 2011-2015 Tim Wood, Iskren Chernev, Moment.js contributors - - moment-timezone v0.4.0 (http://momentjs.com/timezone/) - Copyright (c) 2014 Tim Wood - - FileSaver.js master branch #24b303f49213b905ec9062b708f7cd43d56a5dde (https://github.com/eligrey/FileSaver.js) authors : Eli Grey. - - CodeMirror 5.2.0 (https://codemirror.net/) authors: Copyright (C) 2015 by Marijn Haverbeke <[email protected]> and others + - ember v2.2.0 (http://emberjs.com/) - Copyright (c) 2014 Yehuda Katz, Tom Dale and Ember.js contributors + - ember-data v2.1.0 (https://github.com/emberjs/data) - Copyright (C) 2011-2014 Tilde, Inc. and contributors, Portions Copyright (C) 2011 LivingSocial Inc. + - ember-resolver v2.0.3 (https://github.com/ember-cli/ember-resolver) - Copyright (c) 2013 Stefan Penner and Ember App Kit Contributors + - ember-load-initializers v0.1.7 (https://github.com/ember-cli/ember-load-initializers) - Copyright (c) 2014 ember-cli Contributors + - bootstrap v3.3.6 (http://getbootstrap.com) - Copyright (c) 2011-2014 Twitter, Inc + - jquery v2.1.4 (http://jquery.org) - Copyright 2005, 2014 jQuery Foundation and other contributors + - jquery-ui v1.11.4 (http://jqueryui.com/) - Copyright 2014 jQuery Foundation and other contributors + - jquery-mousewheel v3.1.13 (https://github.com/jquery/jquery-mousewheel) - Copyright 2006, 2014 jQuery Foundation and other contributors, https://jquery.org/ + - CodeMirror 5.11.0 (https://codemirror.net/) - Copyright (C) 2015 by Marijn Haverbeke <[email protected]> and others + - FileSaver.js master branch #24b303f49213b905ec9062b708f7cd43d56a5dde (https://github.com/eligrey/FileSaver.js) - Authored by Eli Grey + - moment v2.12.0 (http://momentjs.com/) - Copyright (c) 2011-2015 Tim Wood, Iskren Chernev, Moment.js contributors + - moment-timezone v0.5.0 (http://momentjs.com/timezone/) - Copyright (c) 2014 Tim Wood + - font-awesome css/less files v4.5.0 (http://fontawesome.io/) - Created by Dave Gandy + - ember-bootstrap v0.5.1 (https://github.com/kaliber5/ember-bootstrap) - Copyright 2015 kaliber5 GmbH. + - more-js v0.8.2 (https://github.com/sreenaths/snippet-ss) + - snippet-ss v1.11.0 (https://github.com/sreenaths/snippet-ss) + - em-tgraph v0.0.4 (https://github.com/sreenaths/em-tgraph) + - em-table v0.3.12 (https://github.com/sreenaths/em-table) + - em-helpers v0.5.8 (https://github.com/sreenaths/em-helpers) + - ember-cli-app-version v1.0.0 (https://github.com/EmberSherpa/ember-cli-app-version) - Authored by Taras Mankovski <[email protected]> + - ember-cli-auto-register v1.1.0 (https://github.com/williamsbdev/ember-cli-auto-register) - Copyright © 2015 Brandon Williams http://williamsbdev.com + - ember-cli-content-security-policy v0.4.0 (https://github.com/rwjblue/ember-cli-content-security-policy) + - ember-cli-d3 v1.1.2 (https://github.com/ming-codes/ember-cli-d3) - Authored by Ming Liu + - ember-cli-font-awesome v1.4.0 (https://github.com/martndemus/ember-cli-font-awesome) - Authored by Marten Schilstra <[email protected]> + - ember-cli-jquery-ui 0.0.20 (https://github.com/gaurav0/ember-cli-jquery-ui) - Authored by Gaurav Munjal + - ember-wormhole v2.10.1 (https://github.com/yapplabs/ember-wormhole) - Copyright (c) 2015 + - normalize.css v3.0.3 (github.com/necolas/normalize.css) - By Nicolas Gallagher & Jonathan Neal + - numeral v1.5.3 (https://github.com/adamwdraper/Numeral-js) - Copyright (c) 2012 Adam Draper + - loader.js v3.3.0 (https://github.com/ember-cli/loader.js) - Copyright (c) 2014 Yehuda Katz, Stefan Penner, and contributors + - ember-cli-shims v0.0.6 (https://github.com/ember-cli/ember-cli-shims) - Copyright (c) 2014 Stefan Penner and ember-cli Contributors + - ember-qunit v0.4.16 (https://github.com/rwjblue/ember-qunit) - Copyright (c) 2014 Ryan Florence All rights reserved. @@ -257,9 +274,8 @@ THE SOFTWARE. The Apache Tez tez-ui bundles the following files under BSD licenses: (3-clause BSD license) - - D3 v3.4.11 (http://d3js.org/) - Copyright (c) 2010-2014, Michael Bostock - - ember-table v0.2.2 (https://github.com/Addepar/ember-table) - Copyright © 2012 Addepar, Inc. All Rights Reserved. - - zip.js master branch #bfd76c66293305faaf9fcbb65b5ff7fe2dbe621a (https://github.com/gildas-lormeau/zip.js) + - D3 v3.5.16 (http://d3js.org/) - Copyright (c) 2010-2014, Michael Bostock + - zip.js master branch #bfd76c66293305faaf9fcbb65b5ff7fe2dbe621a (https://github.com/gildas-lormeau/zip.js) - Copyright (c) 2013 Gildas Lormeau All rights reserved. @@ -295,7 +311,7 @@ POSSIBILITY OF SUCH DAMAGE. The Apache Tez tez-ui bundles the following fonts under the SIL Open Font License v1.1 (OFT) - http://scripts.sil.org/OFL - - font-awesome fonts v4.2.0 (http://fontawesome.io/) - Created by Dave Gandy + - font-awesome fonts v4.5.0 (http://fontawesome.io/) - Created by Dave Gandy SIL OPEN FONT LICENSE http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/.bowerrc ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/.bowerrc b/tez-ui/src/main/webapp/.bowerrc index ba0accc..959e169 100644 --- a/tez-ui/src/main/webapp/.bowerrc +++ b/tez-ui/src/main/webapp/.bowerrc @@ -1,3 +1,4 @@ { - "directory": "app/bower_components" + "directory": "bower_components", + "analytics": false } http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/.editorconfig ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/.editorconfig b/tez-ui/src/main/webapp/.editorconfig new file mode 100644 index 0000000..47c5438 --- /dev/null +++ b/tez-ui/src/main/webapp/.editorconfig @@ -0,0 +1,34 @@ +# EditorConfig helps developers define and maintain consistent +# coding styles between different editors and IDEs +# editorconfig.org + +root = true + + +[*] +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +indent_style = space +indent_size = 2 + +[*.js] +indent_style = space +indent_size = 2 + +[*.hbs] +insert_final_newline = false +indent_style = space +indent_size = 2 + +[*.css] +indent_style = space +indent_size = 2 + +[*.html] +indent_style = space +indent_size = 2 + +[*.{diff,md}] +trim_trailing_whitespace = false http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/.ember-cli ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/.ember-cli b/tez-ui/src/main/webapp/.ember-cli new file mode 100644 index 0000000..ee64cfe --- /dev/null +++ b/tez-ui/src/main/webapp/.ember-cli @@ -0,0 +1,9 @@ +{ + /** + Ember CLI sends analytics information by default. The data is completely + anonymous, but there are times when you might want to disable this behavior. + + Setting `disableAnalytics` to true will prevent any data from being sent. + */ + "disableAnalytics": false +} http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/.gitattributes ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/.gitattributes b/tez-ui/src/main/webapp/.gitattributes deleted file mode 100644 index 2125666..0000000 --- a/tez-ui/src/main/webapp/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -* text=auto \ No newline at end of file http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/.gitignore ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/.gitignore b/tez-ui/src/main/webapp/.gitignore index ee72141..8470f82 100644 --- a/tez-ui/src/main/webapp/.gitignore +++ b/tez-ui/src/main/webapp/.gitignore @@ -1,9 +1,18 @@ -node -node_modules -temp -dist -.sass-cache -.tmp -app/bower_components -test/bower_components -.editorconfig +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# compiled output +/dist +/tmp + +# dependencies +/node +/node_modules +/bower_components + +# misc +/.sass-cache +/connect.lock +/coverage/* +/libpeerconnection.log +npm-debug.log +testem.log http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/.jshintrc ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/.jshintrc b/tez-ui/src/main/webapp/.jshintrc index 780790d..08096ef 100644 --- a/tez-ui/src/main/webapp/.jshintrc +++ b/tez-ui/src/main/webapp/.jshintrc @@ -1,24 +1,32 @@ { - "node": true, - "browser": true, - "esnext": true, - "bitwise": false, - "curly": false, - "eqeqeq": true, - "eqnull": true, - "immed": true, - "latedef": true, - "newcap": true, - "noarg": true, - "undef": true, - "strict": false, - "trailing": false, - "smarttabs": true, - "globals": { - "App": true, - "jQuery": true, - "Ember": true, - "Handlebars": true, - "DS": true - } + "predef": [ + "document", + "window", + "-Promise" + ], + "browser": true, + "boss": true, + "curly": true, + "debug": false, + "devel": true, + "eqeqeq": true, + "evil": true, + "forin": false, + "immed": false, + "laxbreak": false, + "newcap": true, + "noarg": true, + "noempty": false, + "nonew": false, + "nomen": false, + "onevar": false, + "plusplus": false, + "regexp": false, + "undef": true, + "sub": true, + "strict": false, + "white": false, + "eqnull": true, + "esnext": true, + "unused": true } http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/.travis.yml ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/.travis.yml b/tez-ui/src/main/webapp/.travis.yml new file mode 100644 index 0000000..66dd107 --- /dev/null +++ b/tez-ui/src/main/webapp/.travis.yml @@ -0,0 +1,23 @@ +--- +language: node_js +node_js: + - "0.12" + +sudo: false + +cache: + directories: + - node_modules + +before_install: + - export PATH=/usr/local/phantomjs-2.0.0/bin:$PATH + - "npm config set spin false" + - "npm install -g npm@^2" + +install: + - npm install -g bower + - npm install + - bower install + +script: + - npm test http://git-wip-us.apache.org/repos/asf/tez/blob/13132ec7/tez-ui/src/main/webapp/.watchmanconfig ---------------------------------------------------------------------- diff --git a/tez-ui/src/main/webapp/.watchmanconfig b/tez-ui/src/main/webapp/.watchmanconfig new file mode 100644 index 0000000..e7834e3 --- /dev/null +++ b/tez-ui/src/main/webapp/.watchmanconfig @@ -0,0 +1,3 @@ +{ + "ignore_dirs": ["tmp", "dist"] +}
