Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1914)

Unified Diff: dart/compiler/generate_systemlibrary_list.py

Issue 20722006: Removed compiler/ directory from repository (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: dart/compiler/generate_systemlibrary_list.py
diff --git a/dart/compiler/generate_systemlibrary_list.py b/dart/compiler/generate_systemlibrary_list.py
deleted file mode 100644
index 1754436296568d988e02a4a852c36dafa22e33a5..0000000000000000000000000000000000000000
--- a/dart/compiler/generate_systemlibrary_list.py
+++ /dev/null
@@ -1,122 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
-# for details. All rights reserved. Use of this source code is governed by a
-# BSD-style license that can be found in the LICENSE file.
-
-from __future__ import with_statement
-import StringIO
-import os
-import sys
-import re
-from collections import deque
-
-class GenerateError(Exception):
-
- def __init__(self, value):
- self.value = value
-
- def __str__(self):
- return repr(self.value)
-
-
-class Generator:
-
- def __init__(self, base_directory, name, output, path, *includes):
- self.base_directory = base_directory
- self.name = name
- self.output = output
- self.path = path
- self.includes = set()
- for x in includes:
- self.includes.add(x)
- self.sources = []
- self.resources = []
-
- def _list_files(self):
- drain = deque()
- drain.extend(self.includes)
- while len(drain) > 0:
- target = drain.popleft()
- # Avoid circular dependencies
- if target in self.resources:
- continue
- if (target.startswith("dart:")):
- continue
- self.resources.append(target)
- if (target.endswith(".dart")):
- with open(os.path.join(self.base_directory,self.path,target),"r") as fobj:
- text = fobj.read()
- file_sources = re.findall(r"#source\(['\"](?P<name>.*)['\"]\);",text)
- file_native = re.findall(r"#native\(['\"](?P<name>.*)['\"]\);",text)
- file_imports = re.findall(r"#import\(['\"](?P<name>.*)['\"]\);",text)
- self.resources.extend(file_sources)
- self.resources.extend(file_native)
- drain.extend(file_imports)
- self.sources.sort()
- self.resources.sort()
-
- def _print_gypi_files(self, out, name, files):
- out.write(" '%s': [\n" % name)
- for filename in files:
- out.write(" '%s/%s',\n" % (self.path, filename))
- out.write(" ],\n")
-
- def _print_ant_files(self, out, name, files):
- out.write(" <filelist id='%s' dir='%s'>\n" % (name, self.path))
- for filename in files:
- out.write(" <file name='%s'/>\n" % filename)
- out.write(" </filelist>\n")
- out.write(" <pathconvert pathsep=',' property='%s' refid='%s'>\n"
- % (name, name))
- out.write(" <map from='${basedir}/%s/' to=''/>\n" % self.path)
- out.write(" </pathconvert>\n")
-
- def _make_output(self, file_name):
- if os.path.exists(file_name):
- return StringIO.StringIO()
- else:
- return file(file_name, 'w')
-
- def _close(self, file_name, output):
- if not isinstance(output, StringIO.StringIO):
- output.close()
- return
- new_text = output.getvalue()
- output.close()
- with open(file_name, 'r') as f:
- old_text = f.read()
- if old_text == new_text:
- return
- sys.stderr.write('Updating %s\n' % file_name)
- with open(file_name, 'w') as f:
- f.write(new_text)
-
- def generate(self):
- self._list_files()
- file_name = self.output + '.gypi';
- gypi = self._make_output(file_name)
- gypi.write("{\n 'variables': {\n")
- self._print_gypi_files(gypi, self.name + '_sources', self.sources)
- self._print_gypi_files(gypi, self.name + '_resources', self.resources)
- gypi.write(" },\n}\n")
- self._close(file_name, gypi)
- file_name = self.output + '.xml'
- ant = self._make_output(file_name)
- ant.write("<project>\n")
- self._print_ant_files(ant, self.name + '_sources', self.sources)
- self._print_ant_files(ant, self.name + '_resources', self.resources)
- ant.write("</project>\n")
- self._close(file_name, ant)
-
-
-def Main(script_name = None, name = None, output = None, path = None,
- *rest):
- if not path:
- raise GenerateError("usage: %s NAME OUTPUT PATH EXCLUDE_DIR_NAME ..."
- % script_name)
- base_directory = os.path.dirname(output)
- Generator(base_directory, name, output, path, *rest).generate()
-
-
-if __name__ == '__main__':
- sys.exit(Main(*sys.argv))

Powered by Google App Engine
This is Rietveld 408576698