Mercurial > hg > truffle
comparison mxtool/mx.py @ 8183:4b11a0983557
fixed issue with deleting temp files on Windows
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Fri, 08 Mar 2013 16:57:46 +0100 |
parents | e0db99483b35 |
children | 3c74a32bb262 |
comparison
equal
deleted
inserted
replaced
8182:e0db99483b35 | 8183:4b11a0983557 |
---|---|
1649 | 1649 |
1650 for name in args.names: | 1650 for name in args.names: |
1651 if name.startswith('@'): | 1651 if name.startswith('@'): |
1652 dname = name[1:] | 1652 dname = name[1:] |
1653 d = distribution(dname) | 1653 d = distribution(dname) |
1654 _, tmp = tempfile.mkstemp(suffix='', prefix=basename(d.path), dir=dirname(d.path)) | 1654 fd, tmp = tempfile.mkstemp(suffix='', prefix=basename(d.path) + '.', dir=dirname(d.path)) |
1655 zf = zipfile.ZipFile(tmp, 'w') | 1655 zf = zipfile.ZipFile(tmp, 'w') |
1656 for p in sorted_deps(d.deps): | 1656 for p in sorted_deps(d.deps): |
1657 outputDir = p.output_dir() | 1657 outputDir = p.output_dir() |
1658 for root, _, files in os.walk(outputDir): | 1658 for root, _, files in os.walk(outputDir): |
1659 for f in files: | 1659 for f in files: |
1660 relpath = root[len(outputDir) + 1:] | 1660 relpath = root[len(outputDir) + 1:] |
1661 arcname = join(relpath, f).replace(os.sep, '/') | 1661 arcname = join(relpath, f).replace(os.sep, '/') |
1662 zf.write(join(root, f), arcname) | 1662 zf.write(join(root, f), arcname) |
1663 zf.close() | 1663 zf.close() |
1664 os.close(fd) | |
1664 # Atomic on Unix | 1665 # Atomic on Unix |
1665 shutil.move(tmp, d.path) | 1666 shutil.move(tmp, d.path) |
1666 #print time.time(), 'move:', tmp, '->', d.path | 1667 #print time.time(), 'move:', tmp, '->', d.path |
1667 d.notify_updated() | 1668 d.notify_updated() |
1668 | 1669 |
1669 else: | 1670 else: |
1670 p = project(name) | 1671 p = project(name) |
1671 outputDir = p.output_dir() | 1672 outputDir = p.output_dir() |
1672 _, tmp = tempfile.mkstemp(suffix='', prefix=p.name, dir=p.dir) | 1673 fd, tmp = tempfile.mkstemp(suffix='', prefix=p.name, dir=p.dir) |
1673 zf = zipfile.ZipFile(tmp, 'w') | 1674 zf = zipfile.ZipFile(tmp, 'w') |
1674 for root, _, files in os.walk(outputDir): | 1675 for root, _, files in os.walk(outputDir): |
1675 for f in files: | 1676 for f in files: |
1676 relpath = root[len(outputDir) + 1:] | 1677 relpath = root[len(outputDir) + 1:] |
1677 arcname = join(relpath, f).replace(os.sep, '/') | 1678 arcname = join(relpath, f).replace(os.sep, '/') |
1678 zf.write(join(root, f), arcname) | 1679 zf.write(join(root, f), arcname) |
1679 zf.close() | 1680 zf.close() |
1681 os.close(fd) | |
1680 # Atomic on Unix | 1682 # Atomic on Unix |
1681 shutil.move(tmp, join(p.dir, p.name + '.jar')) | 1683 shutil.move(tmp, join(p.dir, p.name + '.jar')) |
1682 | 1684 |
1683 def canonicalizeprojects(args): | 1685 def canonicalizeprojects(args): |
1684 """process all project files to canonicalize the dependencies | 1686 """process all project files to canonicalize the dependencies |
2182 _genEclipseBuilder(out, p, 'Jar.launch', 'archive ' + p.name, refresh = False, async = False) | 2184 _genEclipseBuilder(out, p, 'Jar.launch', 'archive ' + p.name, refresh = False, async = False) |
2183 _genEclipseBuilder(out, p, 'Refresh.launch', '', refresh = True, async = True) | 2185 _genEclipseBuilder(out, p, 'Refresh.launch', '', refresh = True, async = True) |
2184 | 2186 |
2185 if projToDist.has_key(p.name): | 2187 if projToDist.has_key(p.name): |
2186 dist, distDeps = projToDist[p.name] | 2188 dist, distDeps = projToDist[p.name] |
2187 _genEclipseBuilder(out, p, 'Create' + dist.name + 'Dist.launch', 'archive @' + dist.name, refresh=False, async=True, logToConsole=True) | 2189 _genEclipseBuilder(out, p, 'Create' + dist.name + 'Dist.launch', 'archive @' + dist.name, refresh=False, async=True) |
2188 | 2190 |
2189 out.close('buildSpec') | 2191 out.close('buildSpec') |
2190 out.open('natures') | 2192 out.open('natures') |
2191 out.element('nature', data='org.eclipse.jdt.core.javanature') | 2193 out.element('nature', data='org.eclipse.jdt.core.javanature') |
2192 if exists(csConfig): | 2194 if exists(csConfig): |