rename build/ to min/

This commit is contained in:
rolux 2014-09-26 18:57:12 +02:00
parent 51696562f1
commit 383433a06d
25 changed files with 84 additions and 75 deletions

View file

@ -4,8 +4,8 @@
<title>OxDoc Tutorial</title>
<meta http-equiv="Keywords" content="Documentation"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" type="image/png" href="../../../source/Ox.UI/themes/oxlight/png/icon16.png"/>
<script type="text/javascript" src="../../../build/Ox.js"></script>
<link rel="shortcut icon" type="image/png" href="../../../source/UI/themes/oxlight/png/icon16.png"/>
<script type="text/javascript" src="../../../min/Ox.js"></script>
<script type="text/javascript" src="js/example.js"></script>
<script>window.addEventListener('message', function(e) { e.origin == window.location.origin && eval('(' + e.data + ')'); });</script>
</head>

View file

@ -4,7 +4,7 @@
<title>Editable Elements</title>
<meta http-equiv="Keywords" content="Forms"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" type="image/png" href="../../../source/Ox.UI/themes/oxlight/png/icon16.png"/>
<link rel="shortcut icon" type="image/png" href="../../../source/UI/themes/oxlight/png/icon16.png"/>
<link rel="stylesheet" type="text/css" href="css/example.css"/>
<script type="text/javascript" src="../../../dev/Ox.js"></script>
<script type="text/javascript" src="js/example.js"></script>

View file

@ -4,9 +4,9 @@
<title>File Selection</title>
<meta http-equiv="Keywords" content="Forms"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" type="image/png" href="../../../source/Ox.UI/themes/oxlight/png/icon16.png"/>
<link rel="shortcut icon" type="image/png" href="../../../source/UI/themes/oxlight/png/icon16.png"/>
<link rel="stylesheet" type="text/css" href="css/example.css"/>
<script type="text/javascript" src="../../../build/Ox.js"></script>
<script type="text/javascript" src="../../../min/Ox.js"></script>
<script type="text/javascript" src="js/example.js"></script>
<script>window.addEventListener('message', function(e) { e.origin == window.location.origin && eval('(' + e.data + ')'); });</script>
</head>

View file

@ -4,8 +4,8 @@
<title>Form Elements</title>
<meta http-equiv="Keywords" content="Forms"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" type="image/png" href="../../../source/Ox.UI/png/icon16.png"/>
<script type="text/javascript" src="../../../build/Ox.js"></script>
<link rel="shortcut icon" type="image/png" href="../../../source/UI/png/icon16.png"/>
<script type="text/javascript" src="../../../min/Ox.js"></script>
<script type="text/javascript" src="js/example.js"></script>
<script>window.addEventListener('message', function(e) { e.origin == window.location.origin && eval('(' + e.data + ')'); });</script>
</head>

View file

@ -4,9 +4,9 @@
<title>Image Manipulation</title>
<meta http-equiv="Keywords" content="Images"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" type="image/png" href="../../../source/Ox.UI/themes/oxlight/png/icon16.png"/>
<link rel="shortcut icon" type="image/png" href="../../../source/UI/themes/oxlight/png/icon16.png"/>
<link rel="stylesheet" type="text/css" href="css/example.css"/>
<script type="text/javascript" src="../../../build/Ox.js"></script>
<script type="text/javascript" src="../../../min/Ox.js"></script>
<script type="text/javascript" src="js/example.js"></script>
<script>window.addEventListener('message', function(e) { e.origin == window.location.origin && eval('(' + e.data + ')'); });</script>
</head>

View file

@ -4,9 +4,9 @@
<title>Steganograpy</title>
<meta http-equiv="Keywords" content="Images"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" type="image/png" href="../../../source/Ox.UI/themes/oxlight/png/icon16.png"/>
<link rel="shortcut icon" type="image/png" href="../../../source/UI/themes/oxlight/png/icon16.png"/>
<link rel="stylesheet" type="text/css" href="css/example.css"/>
<script type="text/javascript" src="../../../build/Ox.js"></script>
<script type="text/javascript" src="../../../min/Ox.js"></script>
<script type="text/javascript" src="js/example.js"></script>
<script>window.addEventListener('message', function(e) { e.origin == window.location.origin && eval('(' + e.data + ')'); });</script>
</head>

View file

@ -4,9 +4,9 @@
<title>Cities</title>
<meta http-equiv="Keywords" content="Lists"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" type="image/png" href="../../../source/Ox.UI/themes/oxlight/png/icon16.png"/>
<link rel="shortcut icon" type="image/png" href="../../../source/UI/themes/oxlight/png/icon16.png"/>
<link rel="stylesheet" type="text/css" href="css/example.css"/>
<script type="text/javascript" src="../../../build/Ox.js"></script>
<script type="text/javascript" src="../../../min/Ox.js"></script>
<script type="text/javascript" src="js/example.js"></script>
<script>window.addEventListener('message', function(e) { e.origin == window.location.origin && eval('(' + e.data + ')'); });</script>
</head>

View file

@ -4,9 +4,9 @@
<title>Countries</title>
<meta http-equiv="Keywords" content="Lists"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" type="image/png" href="../../../source/Ox.UI/themes/oxlight/png/icon16.png"/>
<link rel="shortcut icon" type="image/png" href="../../../source/UI/themes/oxlight/png/icon16.png"/>
<link rel="stylesheet" type="text/css" href="css/example.css"/>
<script type="text/javascript" src="../../../build/Ox.js"></script>
<script type="text/javascript" src="../../../min/Ox.js"></script>
<script type="text/javascript" src="js/example.js"></script>
<script>window.addEventListener('message', function(e) { e.origin == window.location.origin && eval('(' + e.data + ')'); });</script>
</head>

View file

@ -4,9 +4,9 @@
<title>JSON</title>
<meta http-equiv="Keywords" content="Lists"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" type="image/png" href="../../../source/Ox.UI/themes/oxlight/png/icon16.png"/>
<link rel="shortcut icon" type="image/png" href="../../../source/UI/themes/oxlight/png/icon16.png"/>
<link rel="stylesheet" type="text/css" href="css/example.css"/>
<script type="text/javascript" src="../../../build/Ox.js"></script>
<script type="text/javascript" src="../../../min/Ox.js"></script>
<script type="text/javascript" src="js/example.js"></script>
<script>window.addEventListener('message', function(e) { e.origin == window.location.origin && eval('(' + e.data + ')'); });</script>
</head>

View file

@ -4,9 +4,9 @@
<title>Flight Paths</title>
<meta http-equiv="Keywords" content="Maps"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" type="image/png" href="../../../source/Ox.UI/themes/oxlight/png/icon16.png"/>
<link rel="shortcut icon" type="image/png" href="../../../source/UI/themes/oxlight/png/icon16.png"/>
<link rel="stylesheet" type="text/css" href="css/example.css"/>
<script type="text/javascript" src="../../../build/Ox.js"></script>
<script type="text/javascript" src="../../../min/Ox.js"></script>
<script type="text/javascript" src="js/example.js"></script>
<script>window.addEventListener('message', function(e) { e.origin == window.location.origin && eval('(' + e.data + ')'); });</script>
</head>

View file

@ -4,9 +4,9 @@
<title>IPv4 Map of the Internet</title>
<meta http-equiv="Keywords" content="Maps"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" type="image/png" href="../../../source/Ox.UI/themes/oxlight/png/icon16.png"/>
<link rel="shortcut icon" type="image/png" href="../../../source/UI/themes/oxlight/png/icon16.png"/>
<link rel="stylesheet" type="text/css" href="css/example.css"/>
<script type="text/javascript" src="../../../build/Ox.js"></script>
<script type="text/javascript" src="../../../min/Ox.js"></script>
<script type="text/javascript" src="js/example.js"></script>
<script>window.addEventListener('message', function(e) { e.origin == window.location.origin && eval('(' + e.data + ')'); });</script>
</head>

View file

@ -4,9 +4,9 @@
<title>Manhattan Grid</title>
<meta http-equiv="Keywords" content="Maps"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" type="image/png" href="../../../source/Ox.UI/themes/oxlight/png/icon16.png"/>
<link rel="shortcut icon" type="image/png" href="../../../source/UI/themes/oxlight/png/icon16.png"/>
<link rel="stylesheet" type="text/css" href="css/example.css"/>
<script type="text/javascript" src="../../../build/Ox.js"></script>
<script type="text/javascript" src="../../../min/Ox.js"></script>
<script type="text/javascript" src="js/example.js"></script>
<script>window.addEventListener('message', function(e) { e.origin == window.location.origin && eval('(' + e.data + ')'); });</script>
</head>

View file

@ -4,8 +4,8 @@
<title>World Map with Countries</title>
<meta http-equiv="Keywords" content="Lists"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" type="image/png" href="../../../source/Ox.UI/themes/oxlight/png/icon16.png"/>
<script type="text/javascript" src="../../../build/Ox.js"></script>
<link rel="shortcut icon" type="image/png" href="../../../source/UI/themes/oxlight/png/icon16.png"/>
<script type="text/javascript" src="../../../min/Ox.js"></script>
<script type="text/javascript" src="js/example.js"></script>
<script>window.addEventListener('message', function(e) { e.origin == window.location.origin && eval('(' + e.data + ')'); });</script>
</head>

View file

@ -4,9 +4,9 @@
<title>Mouse Events</title>
<meta http-equiv="Keywords" content="UI"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" type="image/png" href="../../../source/Ox.UI/themes/oxlight/png/icon16.png"/>
<link rel="shortcut icon" type="image/png" href="../../../source/UI/themes/oxlight/png/icon16.png"/>
<link rel="stylesheet" type="text/css" href="css/example.css"/>
<script type="text/javascript" src="../../../build/Ox.js"></script>
<script type="text/javascript" src="../../../min/Ox.js"></script>
<script type="text/javascript" src="js/example.js"></script>
<script>window.addEventListener('message', function(e) { e.origin == window.location.origin && eval('(' + e.data + ')'); });</script>
</head>

View file

@ -4,9 +4,9 @@
<title>Progress</title>
<meta http-equiv="Keywords" content="UI"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" type="image/png" href="../../../source/Ox.UI/themes/oxlight/png/icon16.png"/>
<link rel="shortcut icon" type="image/png" href="../../../source/UI/themes/oxlight/png/icon16.png"/>
<link rel="stylesheet" type="text/css" href="css/example.css"/>
<script type="text/javascript" src="../../../build/Ox.js"></script>
<script type="text/javascript" src="../../../min/Ox.js"></script>
<script type="text/javascript" src="js/example.js"></script>
<script>window.addEventListener('message', function(e) { e.origin == window.location.origin && eval('(' + e.data + ')'); });</script>
</head>

View file

@ -4,9 +4,9 @@
<title>Symbols</title>
<meta http-equiv="Keywords" content="UI"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" type="image/png" href="../../../source/Ox.UI/themes/oxlight/png/icon16.png"/>
<link rel="shortcut icon" type="image/png" href="../../../source/UI/themes/oxlight/png/icon16.png"/>
<link rel="stylesheet" type="text/css" href="css/example.css"/>
<script type="text/javascript" src="../../../build/Ox.js"></script>
<script type="text/javascript" src="../../../min/Ox.js"></script>
<script type="text/javascript" src="js/example.js"></script>
<script>window.addEventListener('message', function(e) { e.origin == window.location.origin && eval('(' + e.data + ')'); });</script>
</head>

View file

@ -4,9 +4,9 @@
<title>Widget Design Patterns</title>
<meta http-equiv="Keywords" content="UI"/>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<link rel="shortcut icon" type="image/png" href="../../../source/Ox.UI/themes/oxlight/png/icon16.png"/>
<link rel="shortcut icon" type="image/png" href="../../../source/UI/themes/oxlight/png/icon16.png"/>
<link rel="stylesheet" type="text/css" href="css/example.css"/>
<script type="text/javascript" src="../../../build/Ox.js"></script>
<script type="text/javascript" src="../../../min/Ox.js"></script>
<script type="text/javascript" src="js/example.js"></script>
<script>window.addEventListener('message', function(e) { e.origin == window.location.origin && eval('(' + e.data + ')'); });</script>
</head>

View file

@ -160,7 +160,7 @@ Ox.load(/^https?:\/\/(www\.)?oxjs\.org\//.test(
return css;
},
getSRC: function(element) {
return 'build/UI/themes/' + app.user.theme + '/' + {
return 'min/UI/themes/' + app.user.theme + '/' + {
icon: 'png/icon16.png',
loading: 'svg/symbolLoading.svg',
logo: 'png/logo128.png'

View file

@ -3,7 +3,7 @@
<p><pre>&lt;!DOCTYPE HTML>
&lt;html>
&lt;head>
&lt;script type="text/javascript" src="OxJS/build/Ox.js">&lt;/script>
&lt;script type="text/javascript" src="OxJS/min/Ox.js">&lt;/script>
&lt;script>
Ox.load(function() {
// Document ready. Your code here.

View file

@ -13,8 +13,8 @@
<br>
<h2><b>Build</b></h2>
<p>Minified production version, including modules.</p>
<p>Download &nbsp;<a href="https://oxjs.org/downloads/OxJS.latest.build.tar.gz"><code>OxJS.latest.build.tar.gz</code></a>{size.build}.</p>
<p>Or get <code>Ox.js</code> only: &nbsp;<a href="https://oxjs.org/oxjs/build/Ox.js"><code>Ox.js</code></a>{size.minified}.</p>
<p>Download &nbsp;<a href="https://oxjs.org/downloads/OxJS.latest.min.tar.gz"><code>OxJS.latest.min.tar.gz</code></a>{size.min}.</p>
<p>Or get <code>Ox.js</code> only: &nbsp;<a href="https://oxjs.org/oxjs/min/Ox.js"><code>Ox.js</code></a>{size.oxjs}.</p>
<br>
<h2><b>Getting Started</b></h2>
<p>Take a look at our short <a href="#readme/getting_started">tutorial</a>.</p>

View file

@ -13,9 +13,9 @@
version = +new Date();
if (args[0] === true && regexp.test(path)) {
path = path.replace(regexp, 'build/');
path = path.replace(regexp, 'min/');
loadScript('Ox.js', function() {
Ox.MODE = 'build';
Ox.MODE = 'min';
Ox.PATH = path;
Ox.load.apply(null, Ox.slice(args, 1));
});

View file

@ -101,7 +101,7 @@ Ox.PATH = (function() {
}
}
}());
//@ Ox.MODE <s> Mode ('build' or 'dev')
//@ Ox.MODE <s> Mode ('dev' or 'min')
Ox.MODE = Ox.PATH.slice(0, -1).split('/').pop();
//@ Ox.PREFIXES <[str]> `['', 'K', 'M', 'G', 'T', 'P']`
Ox.PREFIXES = ['', 'K', 'M', 'G', 'T', 'P'];

View file

@ -14,7 +14,7 @@ this.Ox = function(value) {
/*@
Ox.load <f> Loads OxJS and, optionally, one or more modules
To load OxJS, include `/build/Ox.js` (minified version) or `/dev/Ox.js`
To load OxJS, include `/min/Ox.js` (minified version) or `/dev/Ox.js`
(development version), and use `Ox.load(callback)` at the beginning of your
program. The callback will run once OxJS is loaded and the document is
ready. To choose the version programatically (for example: minified version

View file

@ -36,12 +36,12 @@
translations = {};
Ox.forEach(Ox.LOCALES, function(locales, module) {
if (
(!module || Ox.load[module])
(module == 'Ox' || Ox.load[module])
&& Ox.contains(locales, locale)
) {
urls.push([
Ox.PATH + 'Ox' + (module ? '.' + module : '')
+ '/json/locale.' + locale + '.json'
Ox.PATH + module + '/json/locale.'
+ locale + '.json'
]);
}
});

View file

@ -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__':