зеркало из https://github.com/mozilla/pjs.git
Bug 524659: allow JarMaker to process jar.mn files in objdirs that aren't within topsrcdir, r=Pike
This commit is contained in:
Родитель
07a15f2ff7
Коммит
091bdca45e
|
@ -250,6 +250,7 @@ class JarMaker(object):
|
|||
that against the l10nbases. l10nbases can either be path strings, or
|
||||
callables. In the latter case, that will be called with the
|
||||
relativesrcdir as argument, and is expected to return a path string.
|
||||
This logic is disabled if the jar.mn path is not inside the topsrcdir.
|
||||
'''
|
||||
topsourcedir = os.path.normpath(os.path.abspath(topsourcedir))
|
||||
def resolveL10nBase(relpath):
|
||||
|
@ -265,13 +266,18 @@ class JarMaker(object):
|
|||
l10ndir = srcdir
|
||||
if os.path.basename(srcdir) == 'locales':
|
||||
l10ndir = os.path.dirname(l10ndir)
|
||||
assert srcdir.startswith(topsourcedir), "src dir %s not in topsourcedir %s" % (srcdir, topsourcedir)
|
||||
rell10ndir = l10ndir[len(topsourcedir):].lstrip(os.sep)
|
||||
|
||||
l10ndirs = map(resolveL10nBase(rell10ndir), l10nbases)
|
||||
if localedirs is not None:
|
||||
l10ndirs += [os.path.normpath(os.path.abspath(s))
|
||||
for s in localedirs]
|
||||
|
||||
l10ndirs = None
|
||||
# srcdir may not be a child of topsourcedir, in which case
|
||||
# we assume that the caller passed in suitable sourcedirs,
|
||||
# and just skip passing in localedirs
|
||||
if srcdir.startswith(topsourcedir):
|
||||
rell10ndir = l10ndir[len(topsourcedir):].lstrip(os.sep)
|
||||
|
||||
l10ndirs = map(resolveL10nBase(rell10ndir), l10nbases)
|
||||
if localedirs is not None:
|
||||
l10ndirs += [os.path.normpath(os.path.abspath(s))
|
||||
for s in localedirs]
|
||||
srcdirs = [os.path.normpath(os.path.abspath(s))
|
||||
for s in sourcedirs] + [srcdir]
|
||||
self.makeJar(infile=infile,
|
||||
|
|
Загрузка…
Ссылка в новой задаче