Release preparation.
authorJoe Wreschnig <joe.wreschnig@gmail.com>
Wed, 17 Mar 2010 05:38:41 +0000 (22:38 -0700)
committerJoe Wreschnig <joe.wreschnig@gmail.com>
Wed, 17 Mar 2010 05:38:41 +0000 (22:38 -0700)
MANIFEST.in [new file with mode: 0644]
README.txt [new file with mode: 0644]
bulletml/__init__.py
setup.py [new file with mode: 0755]

diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644 (file)
index 0000000..9b06366
--- /dev/null
@@ -0,0 +1,4 @@
+include examples/*.xml
+include examples/*/*.xml
+include README.txt
+
diff --git a/README.txt b/README.txt
new file mode 100644 (file)
index 0000000..cd985be
--- /dev/null
@@ -0,0 +1,44 @@
+python-bulletml - BulletML for Python
+-------------------------------------
+
+This module parses and runs BulletML scripts. BulletML is a markup
+language for describing complex bullet patterns in shooting games.
+More information is available at the BulletML homepage,
+http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/index_e.html.
+
+The module code is renderer-agnostic. A sample renderer for Pygame is
+included.
+
+$ ./bulletml-runner examples/*/*.xml
+
+Use Page Up and Page Down to switch between bullet definitions.
+
+
+Installing
+----------
+$ ./setup.py build
+$ sudo ./setup.py install
+
+
+License
+-------
+
+Copyright 2010 Joe Wreschnig
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
index 4643d0089a4ad47d771a062f16eb0efef03b91b3..1e0fcdfa4611c063911bf8053fd44cf4f61c286d 100644 (file)
@@ -5,3 +5,6 @@ http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/index_e.html
 
 from bulletml.parser import BulletML
 from bulletml.impl import Bullet, Action
+
+VERSION = (1, 0)
+VERSION_STRING = ".".join(map(str, VERSION))
diff --git a/setup.py b/setup.py
new file mode 100755 (executable)
index 0000000..c3b5726
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,57 @@
+#!/usr/bin/env python
+
+import glob
+import os
+import shutil
+
+from distutils.core import setup
+from distutils.command.clean import clean as distutils_clean
+
+class clean(distutils_clean):
+    def run(self):
+        # In addition to what the normal clean run does, remove pyc
+        # and pyo and backup files from the source tree.
+        distutils_clean.run(self)
+        def should_remove(filename):
+            if (filename.lower()[-4:] in [".pyc", ".pyo"] or
+                filename.endswith("~") or
+                (filename.startswith("#") and filename.endswith("#"))):
+                return True
+            else:
+                return False
+        for pathname, dirs, files in os.walk(os.path.dirname(__file__)):
+            for filename in filter(should_remove, files):
+                try: os.unlink(os.path.join(pathname, filename))
+                except EnvironmentError, err:
+                    print str(err)
+
+        try: os.unlink("MANIFEST")
+        except OSError: pass
+
+        for base in ["coverage", "build", "dist"]:
+             path = os.path.join(os.path.dirname(__file__), base)
+             if os.path.isdir(path):
+                 shutil.rmtree(path)
+
+if __name__ == "__main__":
+    from bulletml import VERSION_STRING
+    setup(cmdclass=dict(clean=clean),
+          name="python-bulletml", version=VERSION_STRING,
+          url="http://code.google.com/p/python-bulletml/",
+          description="parse and run BulletML scripts",
+          author="Joe Wreschnig",
+          author_email="joe.wreschnig@gmail.com",
+          license="MIT-style",
+          packages=["bulletml"],
+          data_files=glob.glob("examples/*/*.xml") + ["examples/template/xml"],
+          scripts=["bulletml-parse", "bulletml-runner"],
+          long_description="""\
+This module parses and runs BulletML scripts. BulletML is a markup
+language for describing complex bullet patterns in shooting games.
+More information is available at the BulletML homepage,
+http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/index_e.html.
+
+The module code is renderer-agnostic. A sample renderer for Pygame is
+included.
+"""
+          )