rename build/ to min/
This commit is contained in:
parent
51696562f1
commit
383433a06d
25 changed files with 84 additions and 75 deletions
|
|
@ -34,16 +34,16 @@ def build_oxjs(downloads=False, geo=False):
|
|||
|
||||
root_path = '../../'
|
||||
source_path = root_path + 'source/'
|
||||
build_path = root_path + 'build/'
|
||||
dev_path = root_path + 'dev/'
|
||||
min_path = root_path + 'min/'
|
||||
|
||||
locales = {}
|
||||
version = get_version()
|
||||
year = time.strftime('%Y', time.gmtime())
|
||||
comment = ' OxJS %s (c) %s 0x2620, dual-licensed GPL/MIT, see https://oxjs.org for details ' % (version, year)
|
||||
|
||||
# Empty build and dev
|
||||
for path in [build_path, dev_path]:
|
||||
# Empty dev and min
|
||||
for path in [dev_path, min_path]:
|
||||
if os.path.exists(path):
|
||||
for item in os.listdir(path):
|
||||
full_path = '%s%s' % (path, item)
|
||||
|
|
@ -65,16 +65,16 @@ def build_oxjs(downloads=False, geo=False):
|
|||
css = css.replace('$import', '\n'.join([
|
||||
'@import url("../themes/%s/css/theme.css?%s");' % (theme, version) for theme in themes
|
||||
]))
|
||||
write_file('%sUI/css/UI.css' % build_path, css)
|
||||
write_file('%sUI/css/UI.css' % dev_path, css)
|
||||
write_file('%sUI/css/UI.css' % min_path, css)
|
||||
|
||||
# Ox.UI Theme CSS
|
||||
css = read_file(source_path + 'UI/css/theme.css')
|
||||
for theme in themes:
|
||||
theme_css = parse_css(css, theme_data[theme])
|
||||
theme_css = theme_css.replace('.png)', '.png?%s)' % version)
|
||||
write_file('%sUI/themes/%s/css/theme.css' % (build_path, theme), theme_css)
|
||||
write_file('%sUI/themes/%s/css/theme.css' % (dev_path, theme), theme_css)
|
||||
write_file('%sUI/themes/%s/css/theme.css' % (min_path, theme), theme_css)
|
||||
|
||||
# Ox.UI SVGs
|
||||
ui_images = {}
|
||||
|
|
@ -90,11 +90,11 @@ def build_oxjs(downloads=False, geo=False):
|
|||
if filename.startswith('symbolLoading'):
|
||||
for theme in themes:
|
||||
theme_svg = re.sub('#808080', format_hex(theme_data[theme]['symbolDefaultColor']), svg)
|
||||
write_file('%sUI/themes/%s/svg/%s' % (build_path, theme, filename), theme_svg)
|
||||
write_file('%sUI/themes/%s/svg/%s' % (dev_path, theme, filename), theme_svg)
|
||||
write_file('%sUI/themes/%s/svg/%s' % (min_path, theme, filename), theme_svg)
|
||||
|
||||
# copy & link
|
||||
ui_files = {'build': [], 'dev': []}
|
||||
ui_files = {'dev': [], 'min': []}
|
||||
for path, dirnames, filenames in os.walk(source_path):
|
||||
for filename in filenames:
|
||||
if not '_' in path and not filename[0] in '._' \
|
||||
|
|
@ -102,19 +102,19 @@ def build_oxjs(downloads=False, geo=False):
|
|||
and not filename.endswith('.css') \
|
||||
and not '/UI/svg' in path \
|
||||
and (geo or not '/Geo/' in path):
|
||||
# write copies in build path
|
||||
# write copies in min path
|
||||
source = os.path.join(path, filename)
|
||||
is_jquery = re.search('^jquery-[\d\.]+\.js$', filename)
|
||||
is_jquery_min = re.search('^jquery-[\d\.]+\.min\.js$', filename)
|
||||
is_jquery_plugin = re.search('^jquery\..*?\.js$', filename)
|
||||
is_jsonc = re.search('\.jsonc$', filename)
|
||||
if is_jquery or is_jquery_min:
|
||||
target = os.path.join(path.replace(source_path, build_path), 'jquery.js')
|
||||
target = os.path.join(path.replace(source_path, min_path), 'jquery.js')
|
||||
else:
|
||||
target = os.path.join(path.replace(source_path, build_path), filename)
|
||||
target = os.path.join(path.replace(source_path, min_path), filename)
|
||||
if is_jquery_plugin:
|
||||
ui_files['build'].append(target.replace(build_path, ''))
|
||||
ui_files['dev'].append(target.replace(build_path, ''))
|
||||
ui_files['dev'].append(target.replace(min_path, ''))
|
||||
ui_files['min'].append(target.replace(min_path, ''))
|
||||
if not '/Ox/js/' in source and not '/UI/js/' in source and not is_jquery:
|
||||
if re.match('^Ox\..+\.js$', filename) or is_jsonc:
|
||||
js = read_file(source)
|
||||
|
|
@ -127,11 +127,11 @@ def build_oxjs(downloads=False, geo=False):
|
|||
if i < len(parts) - 1:
|
||||
parts[i] = '..'
|
||||
link_source = '/'.join(parts).replace(filename, os.path.join(path, filename))[3:]
|
||||
link_target = target.replace(build_path, dev_path)
|
||||
link_target = target.replace(min_path, dev_path)
|
||||
if not is_jquery_min:
|
||||
write_link(link_source, link_target)
|
||||
# locales
|
||||
match = re.search('/Ox\.?(\w*?)/json/locale.(\w+).json', source)
|
||||
match = re.search('/(\w+)/json/locale.(\w+).json', source)
|
||||
if match:
|
||||
module = match.group(1)
|
||||
locale = match.group(2)
|
||||
|
|
@ -193,12 +193,12 @@ def build_oxjs(downloads=False, geo=False):
|
|||
"Ox.VERSION = '%s'" % version,
|
||||
js
|
||||
)
|
||||
write_file(build_path + 'Ox.js', ox.js.minify(js, comment))
|
||||
write_file(dev_path + '/Ox/json/' + 'Ox.json', json.dumps({
|
||||
'files': ox_files,
|
||||
'locales': locales,
|
||||
'version': version
|
||||
}, indent=4, sort_keys=True))
|
||||
write_file(min_path + 'Ox.js', ox.js.minify(js, comment))
|
||||
|
||||
# Ox.UI
|
||||
js = ''
|
||||
|
|
@ -219,14 +219,14 @@ def build_oxjs(downloads=False, geo=False):
|
|||
and not 'UI/png' in path:
|
||||
ui_files['dev'].append(os.path.join(path.replace(source_path, ''), filename))
|
||||
if not '/js/' in path:
|
||||
ui_files['build'].append(os.path.join(path.replace(source_path, ''), filename))
|
||||
ui_files['min'].append(os.path.join(path.replace(source_path, ''), filename))
|
||||
if filename.endswith('.js'):
|
||||
js += read_file(os.path.join(path, filename)) + '\n'
|
||||
filename = build_path + 'UI/js/UI.js'
|
||||
filename = min_path + 'UI/js/UI.js'
|
||||
write_file(filename, ox.js.minify(js, comment))
|
||||
ui_files['build'].append(filename.replace(build_path, ''))
|
||||
write_file(build_path + 'UI/json/UI.json', json.dumps({
|
||||
'files': sorted(ui_files['build']),
|
||||
ui_files['min'].append(filename.replace(min_path, ''))
|
||||
write_file(min_path + 'UI/json/UI.json', json.dumps({
|
||||
'files': sorted(ui_files['min']),
|
||||
'images': ui_images
|
||||
}, sort_keys=True))
|
||||
write_file(dev_path + 'UI/json/UI.json', json.dumps({
|
||||
|
|
@ -279,7 +279,7 @@ def build_oxjs(downloads=False, geo=False):
|
|||
if downloads:
|
||||
data = {
|
||||
'date': time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()),
|
||||
'size': {'minified': os.path.getsize(build_path + 'Ox.js')},
|
||||
'size': {'oxjs': os.path.getsize(min_path + 'Ox.js')},
|
||||
'version': version
|
||||
}
|
||||
download_path = root_path + 'downloads/'
|
||||
|
|
@ -287,21 +287,27 @@ def build_oxjs(downloads=False, geo=False):
|
|||
source_file = download_path + 'OxJS.%s.source.tar.gz' % version
|
||||
data['size']['source'] = write_tarfile(source_file, root_path, 'OxJS', filter_source)
|
||||
write_link(source_file.replace(download_path, ''), source_file.replace(version, 'latest'))
|
||||
# build
|
||||
build_file = download_path + 'OxJS.%s.build.tar.gz' % version
|
||||
data['size']['build'] = write_tarfile(build_file, root_path, 'OxJS', filter_build)
|
||||
write_link(build_file.replace(download_path, ''), build_file.replace(version, 'latest'))
|
||||
# min
|
||||
min_file = download_path + 'OxJS.%s.min.tar.gz' % version
|
||||
data['size']['min'] = write_tarfile(min_file, root_path, 'OxJS', filter_min)
|
||||
write_link(min_file.replace(download_path, ''), min_file.replace(version, 'latest'))
|
||||
# json
|
||||
write_file(download_path + 'downloads.json', json.dumps(data, indent=4, sort_keys=True))
|
||||
|
||||
# legacy
|
||||
build_path = root_path + 'build/'
|
||||
if os.path.exists(build_path) and not os.path.islink(build_path[:-1]):
|
||||
shutil.rmtree(build_path)
|
||||
write_link('min', build_path[:-1])
|
||||
|
||||
|
||||
def copy_file(source, target):
|
||||
print 'copying', source, 'to', target
|
||||
write_file(target, read_file(source))
|
||||
|
||||
def filter_build(tarinfo):
|
||||
def filter_min(tarinfo):
|
||||
name = tarinfo.name
|
||||
if name == 'OxJS' or re.search('^OxJS/build', name):
|
||||
if name == 'OxJS' or re.search('^OxJS/min', name):
|
||||
return tarinfo
|
||||
return None
|
||||
|
||||
|
|
@ -370,7 +376,10 @@ def write_link(source, target):
|
|||
write_path(target)
|
||||
# remove files, symlinks *and broken symlinks*
|
||||
if os.path.exists(target) or os.path.lexists(target):
|
||||
os.unlink(target)
|
||||
if os.path.isdir(target) and not os.path.islink(target):
|
||||
os.rmdir(target)
|
||||
else:
|
||||
os.unlink(target)
|
||||
os.symlink(source, target)
|
||||
|
||||
def write_path(file):
|
||||
|
|
@ -380,9 +389,9 @@ def write_path(file):
|
|||
|
||||
def write_tarfile(file, path, arcname, filter):
|
||||
print 'writing', file
|
||||
build_tar = tarfile.open(file, 'w:gz')
|
||||
build_tar.add(path, arcname=arcname, filter=filter)
|
||||
build_tar.close()
|
||||
f = tarfile.open(file, 'w:gz')
|
||||
f.add(path, arcname=arcname, filter=filter)
|
||||
f.close()
|
||||
return os.path.getsize(file)
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue