Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(305)

Unified Diff: Source/WebCore/inspector/compile-front-end.py

Issue 13467026: DevTools: move compilation script to inspector/scripts/compile_frontend.py, add closure library. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | Source/WebCore/inspector/generate_protocol_externs.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/WebCore/inspector/compile-front-end.py
diff --git a/Source/WebCore/inspector/compile-front-end.py b/Source/WebCore/inspector/compile-front-end.py
deleted file mode 100755
index de8ac20e5856a346e60e6ad6d5f0a5c8d2f6c5a8..0000000000000000000000000000000000000000
--- a/Source/WebCore/inspector/compile-front-end.py
+++ /dev/null
@@ -1,450 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2012 Google Inc. All rights reserved.
-#
-# Redistribution and use 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.
-# * Neither the name of Google Inc. nor the names of its
-# contributors may be used to endorse or promote products derived from
-# this software without specific prior written permission.
-#
-# 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.
-
-import os
-import os.path
-import generate_protocol_externs
-import shutil
-import sys
-import tempfile
-
-inspector_path = "Source/WebCore/inspector"
-inspector_frontend_path = inspector_path + "/front-end"
-protocol_externs_path = inspector_frontend_path + "/protocol-externs.js"
-
-generate_protocol_externs.generate_protocol_externs(protocol_externs_path, inspector_path + "/Inspector.json")
-
-jsmodule_name_prefix = "jsmodule_"
-modules = [
- {
- "name": "common",
- "dependencies": [],
- "sources": [
- "Color.js",
- "DOMExtension.js",
- "Object.js",
- "ParsedURL.js",
- "Progress.js",
- "Settings.js",
- "UIString.js",
- "UserMetrics.js",
- "utilities.js",
- ]
- },
- {
- "name": "sdk",
- "dependencies": ["common"],
- "sources": [
- "ApplicationCacheModel.js",
- "CompilerScriptMapping.js",
- "ConsoleModel.js",
- "ContentProvider.js",
- "ContentProviderBasedProjectDelegate.js",
- "ContentProviders.js",
- "CookieParser.js",
- "CSSMetadata.js",
- "CSSStyleModel.js",
- "BreakpointManager.js",
- "Database.js",
- "DOMAgent.js",
- "DOMStorage.js",
- "DebuggerModel.js",
- "DebuggerScriptMapping.js",
- "FileManager.js",
- "FileMapping.js",
- "FileSystemMapping.js",
- "FileSystemModel.js",
- "FileSystemProjectDelegate.js",
- "FileUtils.js",
- "HAREntry.js",
- "IndexedDBModel.js",
- "InspectorBackend.js",
- "IsolatedFileSystemManager.js",
- "IsolatedFileSystem.js",
- "Linkifier.js",
- "NetworkLog.js",
- "NetworkUISourceCodeProvider.js",
- "PresentationConsoleMessageHelper.js",
- "RuntimeModel.js",
- "SASSSourceMapping.js",
- "Script.js",
- "ScriptFormatter.js",
- "ScriptSnippetModel.js",
- "SimpleWorkspaceProvider.js",
- "SnippetStorage.js",
- "SourceMapping.js",
- "StylesSourceMapping.js",
- "TimelineManager.js",
- "RemoteObject.js",
- "Resource.js",
- "DefaultScriptMapping.js",
- "ResourceScriptMapping.js",
- "LiveEditSupport.js",
- "ResourceTreeModel.js",
- "ResourceType.js",
- "ResourceUtils.js",
- "SourceMap.js",
- "NetworkManager.js",
- "NetworkRequest.js",
- "UISourceCode.js",
- "UserAgentSupport.js",
- "Workspace.js",
- "protocol-externs.js",
- ]
- },
- {
- "name": "ui",
- "dependencies": ["common"],
- "sources": [
- "Checkbox.js",
- "ContextMenu.js",
- "CodeMirrorTextEditor.js",
- "DOMSyntaxHighlighter.js",
- "DataGrid.js",
- "DefaultTextEditor.js",
- "Dialog.js",
- "DockController.js",
- "Drawer.js",
- "EmptyView.js",
- "GoToLineDialog.js",
- "HelpScreen.js",
- "InspectorView.js",
- "KeyboardShortcut.js",
- "OverviewGrid.js",
- "Panel.js",
- "Placard.js",
- "Popover.js",
- "ProgressIndicator.js",
- "PropertiesSection.js",
- "SearchController.js",
- "Section.js",
- "SidebarPane.js",
- "SidebarTreeElement.js",
- "ShortcutsScreen.js",
- "ShowMoreDataGridNode.js",
- "SidebarOverlay.js",
- "SoftContextMenu.js",
- "SourceTokenizer.js",
- "Spectrum.js",
- "SplitView.js",
- "SidebarView.js",
- "StatusBarButton.js",
- "SuggestBox.js",
- "TabbedPane.js",
- "TextEditor.js",
- "TextEditorHighlighter.js",
- "TextEditorModel.js",
- "TextPrompt.js",
- "TextUtils.js",
- "TimelineGrid.js",
- "Toolbar.js",
- "UIUtils.js",
- "View.js",
- "ViewportControl.js",
- "treeoutline.js",
- ]
- },
- {
- "name": "components",
- "dependencies": ["sdk", "ui"],
- "sources": [
- "AdvancedSearchController.js",
- "HandlerRegistry.js",
- "ConsoleMessage.js",
- "CookiesTable.js",
- "DOMBreakpointsSidebarPane.js",
- "DOMPresentationUtils.js",
- "ElementsTreeOutline.js",
- "FontView.js",
- "ImageView.js",
- "NativeBreakpointsSidebarPane.js",
- "InspectElementModeController.js",
- "ObjectPopoverHelper.js",
- "ObjectPropertiesSection.js",
- "SourceFrame.js",
- "ResourceView.js",
- ]
- },
- {
- "name": "elements",
- "dependencies": ["components"],
- "sources": [
- "CSSNamedFlowCollectionsView.js",
- "CSSNamedFlowView.js",
- "ElementsPanel.js",
- "ElementsPanelDescriptor.js",
- "EventListenersSidebarPane.js",
- "MetricsSidebarPane.js",
- "PropertiesSidebarPane.js",
- "StylesSidebarPane.js",
- ]
- },
- {
- "name": "network",
- "dependencies": ["components"],
- "sources": [
- "NetworkItemView.js",
- "RequestCookiesView.js",
- "RequestHeadersView.js",
- "RequestHTMLView.js",
- "RequestJSONView.js",
- "RequestPreviewView.js",
- "RequestResponseView.js",
- "RequestTimingView.js",
- "RequestView.js",
- "ResourceWebSocketFrameView.js",
- "NetworkPanel.js",
- "NetworkPanelDescriptor.js",
- ]
- },
- {
- "name": "resources",
- "dependencies": ["components"],
- "sources": [
- "ApplicationCacheItemsView.js",
- "CookieItemsView.js",
- "DatabaseQueryView.js",
- "DatabaseTableView.js",
- "DirectoryContentView.js",
- "DOMStorageItemsView.js",
- "FileContentView.js",
- "FileSystemView.js",
- "IndexedDBViews.js",
- "ResourcesPanel.js",
- ]
- },
- {
- "name": "workers",
- "dependencies": ["components"],
- "sources": [
- "WorkerManager.js",
- ]
- },
- {
- "name": "scripts",
- "dependencies": ["components", "workers"],
- "sources": [
- "BreakpointsSidebarPane.js",
- "CallStackSidebarPane.js",
- "FilteredItemSelectionDialog.js",
- "JavaScriptSourceFrame.js",
- "NavigatorOverlayController.js",
- "NavigatorView.js",
- "RevisionHistoryView.js",
- "ScopeChainSidebarPane.js",
- "ScriptsNavigator.js",
- "ScriptsPanel.js",
- "ScriptsPanelDescriptor.js",
- "ScriptsSearchScope.js",
- "SnippetJavaScriptSourceFrame.js",
- "StyleSheetOutlineDialog.js",
- "TabbedEditorContainer.js",
- "UISourceCodeFrame.js",
- "WatchExpressionsSidebarPane.js",
- "WorkersSidebarPane.js",
- ]
- },
- {
- "name": "console",
- "dependencies": ["components"],
- "sources": [
- "ConsoleView.js",
- "ConsolePanel.js",
- ]
- },
- {
- "name": "timeline",
- "dependencies": ["components"],
- "sources": [
- "DOMCountersGraph.js",
- "MemoryStatistics.js",
- "NativeMemoryGraph.js",
- "TimelineModel.js",
- "TimelineOverviewPane.js",
- "TimelinePanel.js",
- "TimelinePanelDescriptor.js",
- "TimelinePresentationModel.js",
- "TimelineFrameController.js"
- ]
- },
- {
- "name": "audits",
- "dependencies": ["components"],
- "sources": [
- "AuditCategories.js",
- "AuditController.js",
- "AuditFormatters.js",
- "AuditLauncherView.js",
- "AuditResultView.js",
- "AuditRules.js",
- "AuditsPanel.js",
- ]
- },
- {
- "name": "extensions",
- "dependencies": ["components"],
- "sources": [
- "ExtensionAPI.js",
- "ExtensionAuditCategory.js",
- "ExtensionPanel.js",
- "ExtensionRegistryStub.js",
- "ExtensionServer.js",
- "ExtensionView.js",
- ]
- },
- {
- "name": "settings",
- "dependencies": ["components", "extensions"],
- "sources": [
- "SettingsScreen.js",
- "OverridesView.js",
- ]
- },
- {
- "name": "tests",
- "dependencies": ["components"],
- "sources": [
- "TestController.js",
- ]
- },
- {
- "name": "profiler",
- "dependencies": ["components", "workers"],
- "sources": [
- "BottomUpProfileDataGridTree.js",
- "CPUProfileView.js",
- "CSSSelectorProfileView.js",
- "FlameChart.js",
- "HeapSnapshot.js",
- "HeapSnapshotDataGrids.js",
- "HeapSnapshotGridNodes.js",
- "HeapSnapshotLoader.js",
- "HeapSnapshotProxy.js",
- "HeapSnapshotView.js",
- "HeapSnapshotWorker.js",
- "HeapSnapshotWorkerDispatcher.js",
- "JSHeapSnapshot.js",
- "NativeHeapSnapshot.js",
- "NativeMemorySnapshotView.js",
- "ProfileDataGridTree.js",
- "ProfilesPanel.js",
- "ProfilesPanelDescriptor.js",
- "ProfileLauncherView.js",
- "TopDownProfileDataGridTree.js",
- "CanvasProfileView.js",
- ]
- },
- {
- "name": "host_stub",
- "dependencies": ["components", "profiler", "timeline"],
- "sources": [
- "InspectorFrontendAPI.js",
- "InspectorFrontendHostStub.js",
- ]
- }
-]
-
-modules_by_name = {}
-for module in modules:
- modules_by_name[module["name"]] = module
-
-
-def dump_module(name, recursively, processed_modules):
- if name in processed_modules:
- return ""
- processed_modules[name] = True
- module = modules_by_name[name]
- command = ""
- if recursively:
- for dependency in module["dependencies"]:
- command += dump_module(dependency, recursively, processed_modules)
- command += " \\\n --module " + jsmodule_name_prefix + module["name"] + ":"
- command += str(len(module["sources"]))
- firstDependency = True
- for dependency in module["dependencies"]:
- if firstDependency:
- command += ":"
- else:
- command += ","
- firstDependency = False
- command += jsmodule_name_prefix + dependency
- for script in module["sources"]:
- command += " \\\n --js " + inspector_frontend_path + "/" + script
- return command
-
-modules_dir = tempfile.mkdtemp()
-compiler_command = "java -jar ~/closure/compiler.jar --summary_detail_level 3 --compilation_level SIMPLE_OPTIMIZATIONS --warning_level VERBOSE --language_in ECMASCRIPT5 --accept_const_keyword --module_output_path_prefix %s/ \\\n" % modules_dir
-
-process_recursively = len(sys.argv) > 1
-if process_recursively:
- module_name = sys.argv[1]
- if module_name != "all":
- modules = []
- for i in range(1, len(sys.argv)):
- modules.append(modules_by_name[sys.argv[i]])
- for module in modules:
- command = compiler_command
- command += " --externs " + inspector_frontend_path + "/externs.js"
- command += dump_module(module["name"], True, {})
- print "Compiling \"" + module["name"] + "\""
- os.system(command)
-else:
- command = compiler_command
- command += " --externs " + inspector_frontend_path + "/externs.js"
- for module in modules:
- command += dump_module(module["name"], False, {})
- os.system(command)
-
-if not process_recursively:
- print "Compiling InjectedScriptSource.js..."
- os.system("echo \"var injectedScriptValue = \" > " + inspector_path + "/" + "InjectedScriptSourceTmp.js")
- os.system("cat " + inspector_path + "/" + "InjectedScriptSource.js" + " >> " + inspector_path + "/" + "InjectedScriptSourceTmp.js")
- command = compiler_command
- command += " --externs " + inspector_path + "/" + "InjectedScriptExterns.js" + " \\\n"
- command += " --externs " + protocol_externs_path + " \\\n"
- command += " --module " + jsmodule_name_prefix + "injected_script" + ":" + "1" + " \\\n"
- command += " --js " + inspector_path + "/" + "InjectedScriptSourceTmp.js" + " \\\n"
- command += "\n"
- os.system(command)
- os.system("rm " + inspector_path + "/" + "InjectedScriptSourceTmp.js")
-
- print "Compiling InjectedScriptCanvasModuleSource.js..."
- os.system("echo \"var injectedScriptCanvasModuleValue = \" > " + inspector_path + "/" + "InjectedScriptCanvasModuleSourceTmp.js")
- os.system("cat " + inspector_path + "/" + "InjectedScriptCanvasModuleSource.js" + " >> " + inspector_path + "/" + "InjectedScriptCanvasModuleSourceTmp.js")
- command = compiler_command
- command += " --externs " + inspector_path + "/" + "InjectedScriptExterns.js" + " \\\n"
- command += " --externs " + protocol_externs_path + " \\\n"
- command += " --module " + jsmodule_name_prefix + "injected_script" + ":" + "1" + " \\\n"
- command += " --js " + inspector_path + "/" + "InjectedScriptCanvasModuleSourceTmp.js" + " \\\n"
- command += "\n"
- os.system(command)
- os.system("rm " + inspector_path + "/" + "InjectedScriptCanvasModuleSourceTmp.js")
-
-shutil.rmtree(modules_dir)
-#os.system("rm " + protocol_externs_path)
« no previous file with comments | « no previous file | Source/WebCore/inspector/generate_protocol_externs.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698