Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code

Side by Side Diff: packagerChrome.py

Issue 29762564: Issue 6625 - Expose webpack's resolve.alias to the packagers (Closed)
Patch Set: Created April 26, 2018, 11:40 a.m.
Left:
Right:
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | Download patch
« no previous file with comments | « README.md ('k') | tests/README.md » ('j') | tests/metadata.edge » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # This Source Code Form is subject to the terms of the Mozilla Public 1 # This Source Code Form is subject to the terms of the Mozilla Public
2 # License, v. 2.0. If a copy of the MPL was not distributed with this 2 # License, v. 2.0. If a copy of the MPL was not distributed with this
3 # file, You can obtain one at http://mozilla.org/MPL/2.0/. 3 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
4 4
5 import ConfigParser
5 import errno 6 import errno
6 import glob 7 import glob
7 import io 8 import io
8 import json 9 import json
9 import os 10 import os
10 import re 11 import re
11 import struct 12 import struct
12 import subprocess 13 import subprocess
13 import sys 14 import sys
14 import random 15 import random
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 ).encode('utf-8') + '\n' 149 ).encode('utf-8') + '\n'
149 150
150 151
151 def create_bundles(params, files, bundle_tests): 152 def create_bundles(params, files, bundle_tests):
152 base_extension_path = params['baseDir'] 153 base_extension_path = params['baseDir']
153 info_templates = { 154 info_templates = {
154 'chrome': 'chromeInfo.js.tmpl', 155 'chrome': 'chromeInfo.js.tmpl',
155 'edge': 'edgeInfo.js.tmpl', 156 'edge': 'edgeInfo.js.tmpl',
156 'gecko': 'geckoInfo.js.tmpl', 157 'gecko': 'geckoInfo.js.tmpl',
157 } 158 }
159 aliases = {
160 # To use our custom loader for the info module we must first set up an
161 # alias to a file that exists.
162 'info$': os.path.join(os.path.dirname(__file__), 'info.js'),
163 # Prevent builtin Node.js modules from being used instead of our own
164 # when the names clash. Once relative paths are used this won't be
165 # necessary.
166 'url$': 'url.js',
167 'events$': 'events.js',
168 'punycode$': 'punycode.js',
169 }
170 try:
171 aliases.update(params['metadata'].items('module_alias'))
kzar 2018/04/30 14:00:14 I guess maybe we should make the vales an absolute
172 except ConfigParser.NoSectionError:
173 pass
158 174
159 # Historically we didn't use relative paths when requiring modules, so in 175 # Historically we didn't use relative paths when requiring modules, so in
160 # order for webpack to know where to find them we need to pass in a list of 176 # order for webpack to know where to find them we need to pass in a list of
161 # resolve paths. Going forward we should always use relative paths, once we 177 # resolve paths. Going forward we should always use relative paths, once we
162 # do that consistently this can be removed. See issues 5760, 5761 and 5762. 178 # do that consistently this can be removed. See issues 5760, 5761 and 5762.
163 resolve_paths = [os.path.join(base_extension_path, dir, 'lib') 179 resolve_paths = [os.path.join(base_extension_path, dir, 'lib')
164 for dir in ['', 'adblockpluscore', 'adblockplusui']] 180 for dir in ['', 'adblockpluscore', 'adblockplusui']]
165 181
166 info_template = getTemplate(info_templates[params['type']]) 182 info_template = getTemplate(info_templates[params['type']])
167 info_module = info_template.render( 183 info_module = info_template.render(
168 basename=params['metadata'].get('general', 'basename'), 184 basename=params['metadata'].get('general', 'basename'),
169 version=params['version'], 185 version=params['version'],
170 ).encode('utf-8') 186 ).encode('utf-8')
171 187
172 configuration = { 188 configuration = {
173 'bundles': [], 189 'bundles': [],
174 'extension_path': base_extension_path, 190 'extension_path': base_extension_path,
175 'info_module': info_module, 191 'info_module': info_module,
176 'resolve_paths': resolve_paths, 192 'resolve_paths': resolve_paths,
193 'aliases': aliases,
177 } 194 }
178 195
179 for item in params['metadata'].items('bundles'): 196 for item in params['metadata'].items('bundles'):
180 name, value = item 197 name, value = item
181 base_item_path = os.path.dirname(item.source) 198 base_item_path = os.path.dirname(item.source)
182 199
183 bundle_file = os.path.relpath(os.path.join(base_item_path, name), 200 bundle_file = os.path.relpath(os.path.join(base_item_path, name),
184 base_extension_path) 201 base_extension_path)
185 entry_files = [os.path.join(base_item_path, module_path) 202 entry_files = [os.path.join(base_item_path, module_path)
186 for module_path in value.split()] 203 for module_path in value.split()]
(...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 if devenv: 404 if devenv:
388 add_devenv_requirements(files, metadata, params) 405 add_devenv_requirements(files, metadata, params)
389 406
390 zipdata = files.zipToString() 407 zipdata = files.zipToString()
391 signature = None 408 signature = None
392 pubkey = None 409 pubkey = None
393 if keyFile != None: 410 if keyFile != None:
394 signature = signBinary(zipdata, keyFile) 411 signature = signBinary(zipdata, keyFile)
395 pubkey = getPublicKey(keyFile) 412 pubkey = getPublicKey(keyFile)
396 writePackage(outFile, pubkey, signature, zipdata) 413 writePackage(outFile, pubkey, signature, zipdata)
OLDNEW
« no previous file with comments | « README.md ('k') | tests/README.md » ('j') | tests/metadata.edge » ('J')

Powered by Google App Engine
This is Rietveld