bzr to git conversions, maintenance

This commit is contained in:
Trilarion
2019-12-13 14:37:46 +01:00
parent a8012ee2fd
commit 994c1abc95
60 changed files with 1099 additions and 924 deletions

View File

@@ -3,6 +3,6 @@ update.py
Clones and/or pulls many git repositories from the open source games entries, so that one has an archive of them.
Currently requires at least 100 GB space!
Currently requires at least 130 GB space!
Run update.py to update the archive. URLs are stored in archives.json.

View File

@@ -823,6 +823,12 @@
"https://github.com/raysan5/rfxgen.git",
"https://github.com/red-eclipse/base.git",
"https://github.com/reed-jones/minesweeper_js.git",
"https://github.com/renpy/pygame_sdl2.git",
"https://github.com/renpy/python-for-android.git",
"https://github.com/renpy/rapt.git",
"https://github.com/renpy/renios.git",
"https://github.com/renpy/renpy-deps.git",
"https://github.com/renpy/renpy.git",
"https://github.com/residualvm/residualvm.git",
"https://github.com/richardjs/Maelstrom.git",
"https://github.com/riksweeney/edgar.git",
@@ -1051,6 +1057,7 @@
"https://gitlab.com/osgames/dnt.git",
"https://gitlab.com/osgames/dragon-history.git",
"https://gitlab.com/osgames/dragon-hunt.git",
"https://gitlab.com/osgames/dtris.git",
"https://gitlab.com/osgames/duelcommander.git",
"https://gitlab.com/osgames/dunedynasty.git",
"https://gitlab.com/osgames/dungeoncrawl.git",
@@ -1076,6 +1083,7 @@
"https://gitlab.com/osgames/gm-tools.git",
"https://gitlab.com/osgames/goblin-camp.git",
"https://gitlab.com/osgames/grobots.git",
"https://gitlab.com/osgames/gweled.git",
"https://gitlab.com/osgames/gwiz.git",
"https://gitlab.com/osgames/h-world.git",
"https://gitlab.com/osgames/hodoku.git",
@@ -1090,6 +1098,7 @@
"https://gitlab.com/osgames/krystaldrop.git",
"https://gitlab.com/osgames/kursk.git",
"https://gitlab.com/osgames/lechemindeladam.git",
"https://gitlab.com/osgames/librecardgame.git",
"https://gitlab.com/osgames/lincity.git",
"https://gitlab.com/osgames/lipsofsuna.git",
"https://gitlab.com/osgames/liquidwar6.git",
@@ -1188,6 +1197,7 @@
"https://gitlab.com/osgames/xbill.git",
"https://gitlab.com/osgames/xblast.git",
"https://gitlab.com/osgames/xconq.git",
"https://gitlab.com/osgames/xdigger.git",
"https://gitlab.com/osgames/xforceffd.git",
"https://gitlab.com/osgames/xinvaders3d.git",
"https://gitlab.com/osgames/xpilot.git",
@@ -1249,8 +1259,6 @@
"https://bitbucket.org/thesheep/fujo/src"
],
"bzr": [
"https://code.launchpad.net/4dtris",
"https://code.launchpad.net/gweled",
"https://code.launchpad.net/heroesofwesnoth"
]
}

View File

@@ -297,6 +297,7 @@ https://github.com/perbone/luascript
https://github.com/pixijs/pixi.js
https://github.com/pld-linux
https://github.com/pld-linux/nexuiz/blob/master/nexuiz.spec
https://github.com/PolygonTek/BlueshiftEngine
https://github.com/ppizarror/pygame-menu
https://github.com/prime31/Nez-Samples
https://github.com/psuong/ig-developer-console

View File

@@ -854,7 +854,7 @@ def update_inspirations(infos):
# iterate through originals alphabetically sorted
for original, names in sorted(originals.items(), key=lambda x: str.casefold(x[0])):
inspirations += '## {}\n\n'.format(original)
inspirations += '## {} ({})\n\n'.format(original, len(names))
inspirations += '- Inspired entries: {}\n\n'.format(', '.join(sorted(names, key=str.casefold)))
# write to statistics file
@@ -888,13 +888,45 @@ def update_developer(infos):
# iterate through developers alphabetically sorted
for dev, names in sorted(developer.items(), key=lambda x: str.casefold(x[0])):
content += '## {}\n\n'.format(dev)
content += '## {} ({})\n\n'.format(dev, len(names))
content += '- Games: {}\n\n'.format(', '.join(sorted(names, key=str.casefold)))
# write to statistics file
utils.write_text(developer_file, content)
def check_code_dependencies(infos):
"""
"""
# get all names
names = [x['name'] for x in infos]
# TODO get all names of frameworks and libraries only and use osg.code_dependencies_aliases
# get all code dependencies
dependencies = {}
for info in infos:
deps = info.get('code dependencies', [])
for dependency in deps:
if dependency in dependencies:
dependencies[dependency] += 1
else:
dependencies[dependency] = 1
# delete those that are in names
dependencies = [(k, v) for k,v in dependencies.items() if k not in names and k not in osg.code_dependencies_without_entry]
# sort by number
dependencies.sort(key=lambda x: x[1], reverse=True)
# print out
print('Code dependencies not included as entry')
for dep in dependencies:
print('{} ({})'.format(*dep))
if __name__ == "__main__":
# check_validity_backlog()
@@ -947,6 +979,9 @@ if __name__ == "__main__":
# collect list of primary code repositories
export_primary_code_repositories_json()
# check code dependencies
check_code_dependencies(infos)
# collect list of git code repositories (only one per project) for git_statistics script
# export_git_code_repositories_json()

View File

@@ -11,11 +11,14 @@ essential_fields = ('Home', 'State', 'Keywords', 'Code repository', 'Code langua
valid_fields = ('Home', 'Media', 'State', 'Play', 'Download', 'Platform', 'Keywords', 'Code repository', 'Code language',
'Code license', 'Code dependencies', 'Assets license', 'Developer', 'Build system', 'Build instructions')
valid_platforms = ('Windows', 'Linux', 'macOS', 'Android', 'iOS', 'Web')
recommended_keywords = ('action', 'arcade', 'adventure', 'visual novel', 'sports', 'platform', 'puzzle', 'role playing', 'simulation', 'strategy', 'card game', 'board game', 'music', 'educational', 'tool', 'game engine', 'framework', 'library', 'remake')
recommended_keywords = ('action', 'arcade', 'adventure', 'visual novel', 'sports', 'platform', 'puzzle', 'role playing', 'simulation', 'strategy', 'cards', 'board', 'music', 'educational', 'tool', 'game engine', 'framework', 'library', 'remake')
known_languages = ('AGS Script', 'ActionScript', 'Ada', 'AngelScript', 'Assembly', 'Basic', 'Blender Script', 'BlitzMax', 'C', 'C#', 'C++', 'Clojure', 'CoffeeScript', 'ColdFusion', 'D', 'DM', 'Dart', 'Dia', 'Elm', 'Emacs Lisp', 'F#', 'GDScript', 'Game Maker Script', 'Go', 'Groovy', 'Haskell', 'Haxe', 'Io', 'Java', 'JavaScript', 'Kotlin', 'Lisp', 'Lua', 'MegaGlest Script', 'MoonScript', 'None', 'OCaml', 'Objective-C', 'PHP', 'Pascal', 'Perl', 'Python', 'QuakeC', 'R', "Ren'py", 'Ruby', 'Rust', 'Scala', 'Scheme', 'Script', 'Shell', 'Swift', 'TorqueScript', 'TypeScript', 'Vala', 'Visual Basic', 'XUL', 'ZenScript', 'ooc')
known_licenses = ('2-clause BSD', '3-clause BSD', 'AFL-3.0', 'AGPL-3.0', 'Apache-2.0', 'Artistic License-1.0', 'Artistic License-2.0', 'Boost-1.0', 'CC-BY-NC-3.0', 'CC-BY-NC-SA-2.0', 'CC-BY-NC-SA-3.0', 'CC-BY-SA-3.0', 'CC-BY-NC-SA-4.0', 'CC-BY-SA-4.0', 'CC0', 'Custom', 'EPL-2.0', 'GPL-2.0', 'GPL-3.0', 'IJG', 'ISC', 'Java Research License', 'LGPL-2.0', 'LGPL-2.1', 'LGPL-3.0', 'MAME', 'MIT', 'MPL-1.1', 'MPL-2.0', 'MS-PL', 'MS-RL', 'NetHack General Public License', 'None', 'Proprietary', 'Public domain', 'SWIG license', 'Unlicense', 'WTFPL', 'wxWindows license', 'zlib')
known_multiplayer_modes = ('competitive', 'co-op', 'hotseat', 'LAN', 'local', 'massive', 'matchmaking', 'online', 'split-screen')
code_dependencies_aliases = {'Simple DirectMedia Layer': ('SDL', 'SDL2'), 'Simple and Fast Multimedia Library': 'SFML'}
code_dependencies_without_entry = {'OpenGL': 'https://www.opengl.org/', 'GLUT': 'https://www.opengl.org/resources/libraries/', 'WebGL': 'https://www.khronos.org/webgl/', 'Unity': 'https://unity.com/solutions/game'}
regex_sanitize_name = re.compile(r"[^A-Za-z 0-9-+]+")
regex_sanitize_name_space_eater = re.compile(r" +")