diff --git a/.gitignore b/.gitignore index 5e466df..3c2f36e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ **/__pycache__ build dist -*.zip -*.exe -*.dec -*.json \ No newline at end of file +**/*.zip +**/*.exe +*.dec \ No newline at end of file diff --git a/changelog.json b/changelog.json new file mode 100644 index 0000000..e8eef7d --- /dev/null +++ b/changelog.json @@ -0,0 +1,25 @@ +{ + "vtrack_version": "2.1.0", + "name": "ZDCode", + "packageName": "zdcode", + "tags": ["zdoom", "decorate", "compiler"], + "description": "A language that compiles to Zandronum-compatible DECORATE syntax.", + + "license": "MIT", + "dependencies": [ + "parsy>=1.2.0" + ], + + "authorName": "Gustavo6046", + "authorRealName": "Gustavo R. Rehermann", + "authorEmail": "gugurehermann@gmail.com", + + "versions": [ + { + "name": "2.0.1", + "changes": [ + "Adopted the VTrack version description format." + ] + } + ] +} \ No newline at end of file diff --git a/Aurificator.zc2 b/examples/GoldZombieStatue.zc2 similarity index 100% rename from Aurificator.zc2 rename to examples/GoldZombieStatue.zc2 diff --git a/JumpZombie.zc2 b/examples/JumpZombie.zc2 similarity index 100% rename from JumpZombie.zc2 rename to examples/JumpZombie.zc2 diff --git a/NewRocket.zc2 b/examples/NewRocket.zc2 similarity index 100% rename from NewRocket.zc2 rename to examples/NewRocket.zc2 diff --git a/make_exe.py b/make_exe.py new file mode 100644 index 0000000..93004a8 --- /dev/null +++ b/make_exe.py @@ -0,0 +1,17 @@ +import subprocess +import os +import shutil + + +try: + import PyInstaller + +except ImportError: + subprocess.call(['python', '-m', 'pip', 'install', '-U', 'git+https://github.com/pyinstaller/pyinstaller.git']) + + +subprocess.call(['python', '-m', 'PyInstaller', 'zdcode/__main__.py', '-n', 'ZDCode', '-i', 'zdcode.ico', '-F', '--specpath', 'build']) + +os.unlink('./ZDCode.exe') +shutil.move('dist/ZDCode.exe', './ZDCode.exe') +shutil.rmtree('dist') \ No newline at end of file diff --git a/pycompile.bat b/pycompile.bat deleted file mode 100644 index 85151e4..0000000 --- a/pycompile.bat +++ /dev/null @@ -1 +0,0 @@ -pyinstaller zdcode.py -i zdcode.ico -F --specpath build \ No newline at end of file diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..10adb1a --- /dev/null +++ b/setup.py @@ -0,0 +1,49 @@ +from setuptools import setup, find_packages +from os import path + +try: + import simplejson as json + +except ImportError: + import json + + +if not path.isfile('changelog.json'): + try: + import yaml + + except ImportError: + raise ImportError("Module yaml not found to compile changelog.yml!") + + with open('changelog.json', 'w') as jfp: + with open('changelog.yml') as yfp: + json.dump(yaml.load(yfp), jfp) + +with open('changelog.json') as fp: + changelog = json.load(fp) + +# read the contents of README file +this_dir = path.abspath(path.dirname(__file__)) + +long_description = None + +if path.isfile('README.md'): + with open(path.join(this_dir, 'README.md'), encoding='utf-8') as f: + long_description = f.read() + +setup( + name=changelog['name'], + version=changelog['versions'][-1]['name'], + packages=[changelog['packageName']], + + # metadata to display on PyPI + author=changelog['authorName'], + author_email=changelog['authorEmail'], + description=changelog.get('description', ''), + license=changelog['license'], + keywords=" ".join([x.replace(' ', '-') for x in changelog['tags']]), + install_requires=changelog['dependencies'], + + long_description=long_description, + long_description_content_type=('text/markdown' if long_description is not None else None) +) \ No newline at end of file diff --git a/general.py b/zdcode/__init__.py similarity index 99% rename from general.py rename to zdcode/__init__.py index 636c8be..dd6abab 100644 --- a/general.py +++ b/zdcode/__init__.py @@ -1,6 +1,6 @@ import re import textwrap -import zdlexer +import zdcode.zdlexer diff --git a/zdcode.py b/zdcode/__main__.py similarity index 78% rename from zdcode.py rename to zdcode/__main__.py index 739271a..4412f79 100644 --- a/zdcode.py +++ b/zdcode/__main__.py @@ -1,10 +1,10 @@ import traceback import sys -import general +import zdcode if __name__ == "__main__": try: - dec = general.ZDCode.parse(open(sys.argv[1]).read()).decorate() + dec = zdcode.ZDCode.parse(open(sys.argv[1]).read()).decorate() open(sys.argv[2], "w").write(dec) print("Wrote to file successfully.") @@ -23,4 +23,4 @@ print("No data to use! Provide as stdin or as arguments.") sys.exit(1) - open(sys.argv[2]).write(general.ZDCode.parse("".join(data)).decorate()) + open(sys.argv[2]).write(zdcode.ZDCode.parse("".join(data)).decorate()) diff --git a/zdlexer.py b/zdcode/zdlexer.py similarity index 100% rename from zdlexer.py rename to zdcode/zdlexer.py