Merge branch 'pr/1'

This commit is contained in:
Anthony Wang 2020-06-16 20:31:18 -05:00
commit 34425aee1d
12 changed files with 806 additions and 1173 deletions

View file

@ -4,8 +4,6 @@ on:
push:
branches:
- master
schedule:
- cron: '0 0 * * 0'
jobs:
build:
@ -18,14 +16,7 @@ jobs:
- name: Increment version
run: |
echo ::set-env name=TAG_NAME::$(cat ./VERSION)
- name: Bump release version
id: bump_version
uses: christian-draeger/increment-semantic-version@1.0.1
with:
current-version: '${{ env.TAG_NAME }}'
version-fragment: 'bug'
- name: Set up Python 3.8
uses: actions/setup-python@v1
with:
@ -41,31 +32,22 @@ jobs:
gitToken: ${{ secrets.SLX_GIT_TOKEN }}
gitUser: ${{ secrets.SLX_GIT_USER }}
run: |
echo -e "version = 'v${{ steps.bump_version.outputs.next-version }}'\ngithub_username = '$gitUser'\ngithub_password = '$gitPass'\ngitlab_private_access_token = '$gitToken'"> ./builder/config.py
echo -e "version = 'v${{ env.TAG_NAME }}'\ngithub_username = '$gitUser'\ngithub_password = '$gitPass'\ngitlab_private_access_token = '$gitToken'"> ./builder/config.py
- name: Compile DeepSea Zip
run: |
cd ./builder
python ./builder.py deepsea output="./deepsea.zip" > ../output
python ./builder.py deepsea.json output="./deepsea.zip"
- name: Compile DeepSea-patches Zip
run: |
cd ./builder
python ./builder.py deepsea-patches output="./deepsea-patched.zip" >> ../output
python ./builder.py deepsea-patches.json output="./deepsea-patched.zip"
- name: Compile DeepSea-minimal Zip
run: |
cd ./builder
python ./builder.py deepsea-mini output="./deepsea-minimal.zip" >> ../output
- name: Bump VERSION
run: |
echo ${{ steps.bump_version.outputs.next-version }} > ./VERSION
- uses: pCYSl5EDgo/cat@master
id: release
with:
path: ./output
python ./builder.py deepsea-minimal.json output="./deepsea-minimal.zip"
- name: Create Release
id: create_release
@ -73,11 +55,9 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ steps.bump_version.outputs.next-version }}
release_name: Release ${{ steps.bump_version.outputs.next-version }}
body: |
${{ steps.release.outputs.text }}
draft: false
tag_name: ${{ env.TAG_NAME }}
release_name: Release ${{ env.TAG_NAME }}
draft: true
prerelease: false
@ -89,7 +69,7 @@ jobs:
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./builder/deepsea.zip
asset_name: deepsea_v${{ steps.bump_version.outputs.next-version }}.zip
asset_name: deepsea_v${{ env.TAG_NAME }}.zip
asset_content_type: application/zip
@ -101,7 +81,7 @@ jobs:
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./builder/deepsea-patched.zip
asset_name: deepsea-patched_v${{ steps.bump_version.outputs.next-version }}.zip
asset_name: deepsea-patched_v${{ env.TAG_NAME }}.zip
asset_content_type: application/zip
@ -114,16 +94,5 @@ jobs:
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./builder/deepsea-minimal.zip
asset_name: deepsea-minimal_v${{ steps.bump_version.outputs.next-version }}.zip
asset_content_type: application/zip
- name: Commit files
run: |
git config --local user.email "action@github.com"
git config --local user.name "GitHub Action"
git commit -m "[Auto] bump push after build" -a
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
asset_name: deepsea-minimal_v${{ env.TAG_NAME }}.zip
asset_content_type: application/zip

View file

@ -1 +1 @@
1.3.2
1.4.1

View file

@ -1,60 +1,49 @@
; Disable uploading error reports to Nintendo
[eupld]
upload_enabled = u8!0x0
; upload_enabled = u8!0x0
; Control whether RO should ease its validation of NROs.
; (note: this is normally not necessary, and ips patches can be used.)
[ro]
ease_nro_restriction = u8!0x0
; ease_nro_restriction = u8!0x1
; Atmosphere custom settings
[atmosphere]
; Reboot from fatal automatically after some number of milliseconds.
; If field is not present or 0, fatal will wait indefinitely for user input.
fatal_auto_reboot_interval = u64!0x5000
; fatal_auto_reboot_interval = u64!0x0
; Make the power menu's "reboot" button reboot to payload.
; Set to "normal" for normal reboot, "rcm" for rcm reboot.
power_menu_reboot_function = str!payload
; power_menu_reboot_function = str!payload
; Controls whether dmnt cheats should be toggled on or off by
; default. 1 = toggled on by default, 0 = toggled off by default.
dmnt_cheats_enabled_by_default = u8!0x0
; dmnt_cheats_enabled_by_default = u8!0x1
; Controls whether dmnt should always save cheat toggle state
; for restoration on new game launch. 1 = always save toggles,
; 0 = only save toggles if toggle file exists.
dmnt_always_save_cheat_toggles = u8!0x0
; dmnt_always_save_cheat_toggles = u8!0x0
; Enable writing to BIS partitions for HBL.
; This is probably undesirable for normal usage.
enable_hbl_bis_write = u8!0x0
; enable_hbl_bis_write = u8!0x0
; Enable reading the CAL0 partition for HBL.
; This is probably undesirable for normal usage.
enable_hbl_cal_read = u8!0x0
; enable_hbl_cal_read = u8!0x0
; Controls whether fs.mitm should redirect save files
; to directories on the sd card.
; 0 = Do not redirect, 1 = Redirect.
; NOTE: EXPERIMENTAL
; If you do not know what you are doing, do not touch this yet.
fsmitm_redirect_saves_to_sd = u8!0x0
; fsmitm_redirect_saves_to_sd = u8!0x0
; Controls whether to enable the deprecated hid mitm
; to fix compatibility with old homebrew.
; 0 = Do not enable, 1 = Enable.
; Please note this setting may be removed in a
; future release of Atmosphere.
enable_deprecated_hid_mitm = u8!0x0
; enable_deprecated_hid_mitm = u8!0x0
[hbloader]
; Controls the size of the homebrew heap when running as applet.
; If set to zero, all available applet memory is used as heap.
; The default is zero.
applet_heap_size = u64!0x0
; applet_heap_size = u64!0x0
; Controls the amount of memory to reserve when running as applet
; for usage by other applets. This setting has no effect if
; applet_heap_size is non-zero. The default is 0x8600000.
applet_heap_reservation_size = u64!0x8600000
; applet_heap_reservation_size = u64!0x8600000

View file

@ -0,0 +1,425 @@
[
{
"name": "Atmosphère",
"download_function_name": "download_atmosphere",
"git": {
"service": 0,
"org_name": "Atmosphere-NX",
"repo_name": "Atmosphere",
"asset_patterns": [
".*atmosphere.*\\.zip",
".*fusee.*\\.bin"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "must_have"
},
{
"name": "Hekate",
"download_function_name": "download_hekate",
"git": {
"service": 0,
"org_name": "CTCaer",
"repo_name": "hekate",
"asset_patterns": [
".*hekate.*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "hekate"
},
{
"name": "Hekate Icons",
"download_function_name": "download_hekate_icons",
"git": {
"service": 0,
"org_name": "NicholeMattera",
"repo_name": "Hekate-Icons",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "hekate_icons"
},
{
"name": "Homebrew App Store",
"download_function_name": "download_appstore",
"git": {
"service": 1,
"org_name": "4TU",
"repo_name": "hb-appstore",
"asset_patterns": [
"\\[.*\\.nro\\.zip\\]\\((.*\\.nro\\.zip)\\)"
],
"group": 0,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "EdiZon",
"download_function_name": "download_edizon",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "EdiZon",
"asset_patterns": [
".*\\.nro",
".*\\.ovl"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "Emuiibo",
"download_function_name": "download_emuiibo",
"git": {
"service": 0,
"org_name": "XorTroll",
"repo_name": "emuiibo",
"asset_patterns": [
".*emuiibo.*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "emuiibo"
},
{
"name": "Kosmos Cleaner",
"download_function_name": "download_kosmos_cleaner",
"git": {
"service": 0,
"org_name": "AtlasNX",
"repo_name": "Kosmos-Cleaner",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "kosmos_cleaner"
},
{
"name": "Kosmos Updater",
"download_function_name": "download_kosmos_updater",
"git": {
"service": 0,
"org_name": "AtlasNX",
"repo_name": "Kosmos-Updater",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "kosmos_updater"
},
{
"name": "Goldleaf",
"download_function_name": "download_goldleaf",
"git": {
"service": 0,
"org_name": "XorTroll",
"repo_name": "Goldleaf",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "Awoo Installer",
"download_function_name": "download_awoo",
"git": {
"service": 0,
"org_name": "Huntereb",
"repo_name": "Awoo-Installer",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "Kosmos Toolbox",
"download_function_name": "download_kosmos_toolbox",
"git": {
"service": 0,
"org_name": "AtlasNX",
"repo_name": "Kosmos-Toolbox",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "kosmos_toolbox"
},
{
"name": "DeepSea Toolbox",
"download_function_name": "download_deepsea_toolbox",
"git": {
"service": 0,
"org_name": "Team-Neptune",
"repo_name": "DeepSea-Toolbox",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "DeepSea Updater",
"download_function_name": "download_kosmos_updater",
"git": {
"service": 0,
"org_name": "Team-Neptune",
"repo_name": "DeepSea-Updater",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "DeepSea Cleaner",
"download_function_name": "download_deepsea_cleaner",
"git": {
"service": 0,
"org_name": "Team-Neptune",
"repo_name": "DeepSea-Cleaner",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "JKSV",
"download_function_name": "download_jksv",
"git": {
"service": 0,
"org_name": "J-D-K",
"repo_name": "JKSV",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "NXMTP",
"download_function_name": "download_nxmtp",
"git": {
"service": 0,
"org_name": "liuervehc",
"repo_name": "nxmtp",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "ldn_mitm",
"download_function_name": "download_ldn_mitm",
"git": {
"service": 0,
"org_name": "spacemeowx2",
"repo_name": "ldn_mitm",
"asset_patterns": [
".*ldn_mitm.*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "ldn_mitm"
},
{
"name": "Lockpick_RCM",
"download_function_name": "download_lockpick_rcm",
"git": {
"service": 0,
"org_name": "shchmue",
"repo_name": "Lockpick_RCM",
"asset_patterns": [
".*\\.bin"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "lockpick_rcm"
},
{
"name": "nx-ovlloader",
"download_function_name": "download_nx_ovlloader",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "nx-ovlloader",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "nx_ovlloader"
},
{
"name": "ovlSysModules",
"download_function_name": "download_ovl_sysmodules",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "ovl-sysmodules",
"asset_patterns": [
".*\\.ovl"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "ovl_sysmodules"
},
{
"name": "Status Monitor Overlay",
"download_function_name": "download_status_monitor_overlay",
"git": {
"service": 0,
"org_name": "masagrator",
"repo_name": "Status-Monitor-Overlay",
"asset_patterns": [
".*\\.ovl"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "status_monitor_overlay"
},
{
"name": "sys-clk",
"download_function_name": "download_sys_clk",
"git": {
"service": 0,
"org_name": "retronx-team",
"repo_name": "sys-clk",
"asset_patterns": [
".*sys-clk-.*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "sys_clk"
},
{
"name": "sys-clk-ovl",
"download_function_name": "download_sys_clk_ovl",
"git": {
"service": 0,
"org_name": "Sun-Research-University",
"repo_name": "sys-clk-Overlay",
"asset_patterns": [
".*sys-clk-Overlay.*\\.ovl"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "sys_clk_ovl"
},
{
"name": "sys-con",
"download_function_name": "download_sys_con",
"git": {
"service": 0,
"org_name": "cathery",
"repo_name": "sys-con",
"asset_patterns": [
".*sys-con-.*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "sys_con"
},
{
"name": "sys-ftpd-light",
"download_function_name": "download_sys_ftpd_light",
"git": {
"service": 0,
"org_name": "cathery",
"repo_name": "sys-ftpd-light",
"asset_patterns": [
".*sys-ftpd-light.*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "sys_ftpd"
},
{
"name": "Tesla-Menu",
"download_function_name": "download_tesla_menu",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "Tesla-Menu",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "tesla_menu"
},
{
"name": "PKG2-Patches",
"download_function_name": "download_pkg2_patches",
"git": {
"service": 0,
"org_name": "HarukoNX",
"repo_name": "PKG2-Patches",
"asset_patterns": [
".*fusee.*\\.zip",
".*hekate.*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
},
{
"name": "ES-Patches",
"download_function_name": "download_es_patches",
"git": {
"service": 0,
"org_name": "HarukoNX",
"repo_name": "ES-Patches",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
}
]

View file

@ -26,7 +26,7 @@ import modules
from pathlib import Path
import shutil
import sys
import json
def parse_args():
parser = argparse.ArgumentParser()
@ -36,51 +36,20 @@ def parse_args():
type=str,
help='Overrides the DeepSea Version from the config file.',
metavar='DeepSeaVersion')
subparsers = parser.add_subparsers()
# Kosmos subcommands
parser_kosmos = subparsers.add_parser(
'deepsea', help='Create a release build of DeepSea.')
parser_kosmos.add_argument('output', help='Zip file to create.')
parser_kosmos.set_defaults(command=common.Command.Kosmos)
# SDSetup subcommands
parser_sdsetup = subparsers.add_parser(
'sdsetup', help='Create a DeepSea modules for SDSetup.')
parser_sdsetup.add_argument(
'output', help='Directory to output modules to.')
parser_sdsetup.add_argument(
'-a', '--auto',
action='store_true',
default=False,
help='Perform an auto build.')
parser_sdsetup.set_defaults(command=common.Command.SDSetup)
# Kosmos Minimal subcommands
parser_kosmos = subparsers.add_parser(
'deepsea-mini', help='Create a release build of DeepSea Minimal.')
parser_kosmos.add_argument('output', help='Zip file to create.')
parser_kosmos.set_defaults(command=common.Command.KosmosMinimal)
# Kosmos with patches subcommands
parser_kosmos_patches = subparsers.add_parser(
'deepsea-patches', help='Create a release build of DeepSea with patches.')
parser_kosmos_patches.add_argument('output', help='Zip file to create.')
parser_kosmos_patches.set_defaults(command=common.Command.KosmosPatches)
# Kosmos minimal with patches subcommands
parser_kosmos_minimal_patches = subparsers.add_parser(
'deepsea-mini-patches', help='Create a release build of DeepSea Minimal with patches.')
parser_kosmos_minimal_patches.add_argument('output', help='Zip file to create.')
parser_kosmos_minimal_patches.set_defaults(command=common.Command.KosmosMinimalPatches)
parser.add_argument(
"package_file",
default=None,
type=str,
help="Create a release build using the provided json file.")
parser.add_argument(
"output",
default=None,
type=str,
help='Zip file to create.')
# Parse arguments
args = parser.parse_args()
if not hasattr(args, 'command'):
parser.print_help()
sys.exit()
return args
@ -90,18 +59,9 @@ def get_deepsea_version(args):
return config.version
def init_version_messages(args, kosmos_version):
if args.command == common.Command.Kosmos:
return [f'DeepSea {kosmos_version} built with:']
elif args.command == common.Command.SDSetup and not args.auto:
return ['SDSetup Modules built with:']
elif args.command == common.Command.KosmosMinimal:
return [f'DeepSea Minimal {kosmos_version} built with:']
elif args.command == common.Command.KosmosPatches:
return [f'DeepSea with Patches {kosmos_version} built with:']
elif args.command == common.Command.KosmosMinimalPatches:
return [f'DeepSea Minimal with Patches {kosmos_version} built with:']
return []
def init_version_messages(package_content, kosmos_version):
pkg_name = package_content['package_name']
return [f'{pkg_name} {kosmos_version} built with:']
if __name__ == '__main__':
@ -115,17 +75,20 @@ if __name__ == '__main__':
if hasattr(args, 'auto'):
auto_build = args.auto
version_messages = init_version_messages(args, deepsea_version)
with open(args.package_file,'r') as pkgfile:
package_content = json.load(pkgfile)
version_messages = init_version_messages(package_content, deepsea_version)
build_messages = modules.build(
temp_directory, deepsea_version, args.command, auto_build)
temp_directory, deepsea_version, package_content, auto_build)
common.delete(args.output)
if build_messages is not None:
version_messages += build_messages
if args.command == common.Command.SDSetup:
if package_content['is_sdsetup']:
common.move(temp_directory, args.output)
else:
shutil.make_archive(

View file

@ -25,13 +25,6 @@ import re
import shutil
import uuid
class Command(enum.Enum):
Kosmos = 0
SDSetup = 1
KosmosMinimal = 2
KosmosPatches = 3
KosmosMinimalPatches = 4
class GitService(enum.Enum):
GitHub = 0
GitLab = 1

View file

@ -1,64 +1,22 @@
[
{
"name": "Atmosphère",
"download_function_name": "download_atmosphere",
"git": {
"service": 0,
"org_name": "Atmosphere-NX",
"repo_name": "Atmosphere",
"asset_patterns": [
".*atmosphere.*\\.zip",
".*fusee.*\\.bin"
],
"group": null,
"version_pattern": null
{
"package_name": "DeepSea Minimal with Patches",
"is_sdsetup": false,
"modules": [
{
"module_name": "Atmosphère",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Hekate",
"download_function_name": "download_hekate",
"git": {
"service": 0,
"org_name": "CTCaer",
"repo_name": "hekate",
"asset_patterns": [
".*hekate.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "Hekate",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "PKG2-Patches",
"download_function_name": "download_pkg2_patches",
"git": {
"service": 0,
"org_name": "HarukoNX",
"repo_name": "PKG2-Patches",
"asset_patterns": [
".*fusee.*\\.zip",
".*hekate.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "PKG2-Patches",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "ES-Patches",
"download_function_name": "download_es_patches",
"git": {
"service": 0,
"org_name": "HarukoNX",
"repo_name": "ES-Patches",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
}
]
{
"module_name": "ES-Patches",
"parameters": null
}
]
}

View file

@ -1,33 +1,14 @@
[
{
"name": "Atmosphère",
"download_function_name": "download_atmosphere",
"git": {
"service": 0,
"org_name": "Atmosphere-NX",
"repo_name": "Atmosphere",
"asset_patterns": [
".*atmosphere.*\\.zip",
".*fusee.*\\.bin"
],
"group": null,
"version_pattern": null
{
"package_name": "DeepSea Minimal",
"is_sdsetup": false,
"modules": [
{
"module_name": "Atmosphère",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Hekate",
"download_function_name": "download_hekate",
"git": {
"service": 0,
"org_name": "CTCaer",
"repo_name": "hekate",
"asset_patterns": [
".*hekate.*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": null
}
]
{
"module_name": "Hekate",
"parameters": null
}
]
}

View file

@ -1,365 +1,106 @@
[
{
"name": "Atmosphère",
"download_function_name": "download_atmosphere",
"git": {
"service": 0,
"org_name": "Atmosphere-NX",
"repo_name": "Atmosphere",
"asset_patterns": [
".*atmosphere.*\\.zip",
".*fusee.*\\.bin"
],
"group": null,
"version_pattern": null
{
"package_name": "DeepSea with Patches",
"is_sdsetup": false,
"modules": [
{
"module_name": "Atmosphère",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Hekate",
"download_function_name": "download_hekate",
"git": {
"service": 0,
"org_name": "CTCaer",
"repo_name": "hekate",
"asset_patterns": [
".*hekate.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "Hekate",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Hekate Icons",
"download_function_name": "download_hekate_icons",
"git": {
"service": 0,
"org_name": "NicholeMattera",
"repo_name": "Hekate-Icons",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "Hekate Icons",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Homebrew App Store",
"download_function_name": "download_appstore",
"git": {
"service": 1,
"org_name": "4TU",
"repo_name": "hb-appstore",
"asset_patterns": [
"\\[.*\\.nro\\.zip\\]\\((.*\\.nro\\.zip)\\)"
],
"group": 0,
"version_pattern": null
{
"module_name": "Homebrew App Store",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "EdiZon",
"download_function_name": "download_edizon",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "EdiZon",
"asset_patterns": [
".*\\.nro",
".*\\.ovl"
],
"group": null,
"version_pattern": null
{
"module_name": "EdiZon",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Emuiibo",
"download_function_name": "download_emuiibo",
"git": {
"service": 0,
"org_name": "XorTroll",
"repo_name": "emuiibo",
"asset_patterns": [
".*emuiibo.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "Emuiibo",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Goldleaf",
"download_function_name": "download_goldleaf",
"git": {
"service": 0,
"org_name": "XorTroll",
"repo_name": "Goldleaf",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
{
"module_name": "Goldleaf",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Awoo Installer",
"download_function_name": "download_awoo",
"git": {
"service": 0,
"org_name": "Huntereb",
"repo_name": "Awoo-Installer",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "Awoo Installer",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "DeepSea Toolbox",
"download_function_name": "download_deepsea_toolbox",
"git": {
"service": 0,
"org_name": "Team-Neptune",
"repo_name": "DeepSea-Toolbox",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
{
"module_name": "DeepSea Toolbox",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "DeepSea Updater",
"download_function_name": "download_kosmos_updater",
"git": {
"service": 0,
"org_name": "Team-Neptune",
"repo_name": "DeepSea-Updater",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
{
"module_name": "DeepSea Updater",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "DeepSea Cleaner",
"download_function_name": "download_deepsea_cleaner",
"git": {
"service": 0,
"org_name": "Team-Neptune",
"repo_name": "DeepSea-Cleaner",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "DeepSea Cleaner",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "JKSV",
"download_function_name": "download_jksv",
"git": {
"service": 0,
"org_name": "J-D-K",
"repo_name": "JKSV",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
{
"module_name": "JKSV",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "NXMTP",
"download_function_name": "download_nxmtp",
"git": {
"service": 0,
"org_name": "liuervehc",
"repo_name": "nxmtp",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
{
"module_name": "NXMTP",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "ldn_mitm",
"download_function_name": "download_ldn_mitm",
"git": {
"service": 0,
"org_name": "spacemeowx2",
"repo_name": "ldn_mitm",
"asset_patterns": [
".*ldn_mitm.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "ldn_mitm",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Lockpick_RCM",
"download_function_name": "download_lockpick_rcm",
"git": {
"service": 0,
"org_name": "shchmue",
"repo_name": "Lockpick_RCM",
"asset_patterns": [
".*\\.bin"
],
"group": null,
"version_pattern": null
{
"module_name": "Lockpick_RCM",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "nx-ovlloader",
"download_function_name": "download_nx_ovlloader",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "nx-ovlloader",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "nx-ovlloader",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "ovlSysModules",
"download_function_name": "download_ovl_sysmodules",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "ovl-sysmodules",
"asset_patterns": [
".*\\.ovl"
],
"group": null,
"version_pattern": null
{
"module_name": "ovlSysModules",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Status Monitor Overlay",
"download_function_name": "download_status_monitor_overlay",
"git": {
"service": 0,
"org_name": "masagrator",
"repo_name": "Status-Monitor-Overlay",
"asset_patterns": [
".*\\.ovl"
],
"group": null,
"version_pattern": null
{
"module_name": "Status Monitor Overlay",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "sys-clk",
"download_function_name": "download_sys_clk",
"git": {
"service": 0,
"org_name": "retronx-team",
"repo_name": "sys-clk",
"asset_patterns": [
".*sys-clk-.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "sys-clk",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "sys-con",
"download_function_name": "download_sys_con",
"git": {
"service": 0,
"org_name": "cathery",
"repo_name": "sys-con",
"asset_patterns": [
".*sys-con-.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "sys-clk-ovl",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "sys-ftpd-light",
"download_function_name": "download_sys_ftpd_light",
"git": {
"service": 0,
"org_name": "cathery",
"repo_name": "sys-ftpd-light",
"asset_patterns": [
".*sys-ftpd-light.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "sys-con",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Tesla-Menu",
"download_function_name": "download_tesla_menu",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "Tesla-Menu",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "sys-ftpd-light",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "PKG2-Patches",
"download_function_name": "download_pkg2_patches",
"git": {
"service": 0,
"org_name": "HarukoNX",
"repo_name": "PKG2-Patches",
"asset_patterns": [
".*fusee.*\\.zip",
".*hekate.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "Tesla-Menu",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "ES-Patches",
"download_function_name": "download_es_patches",
"git": {
"service": 0,
"org_name": "HarukoNX",
"repo_name": "ES-Patches",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "PKG2-Patches",
"parameters": null
},
"sdsetup_module_name": null
}
]
{
"module_name": "ES-Patches",
"parameters": null
}
]
}

View file

@ -1,334 +1,98 @@
[
{
"name": "Atmosphère",
"download_function_name": "download_atmosphere",
"git": {
"service": 0,
"org_name": "Atmosphere-NX",
"repo_name": "Atmosphere",
"asset_patterns": [
".*atmosphere.*\\.zip",
".*fusee.*\\.bin"
],
"group": null,
"version_pattern": null
{
"package_name": "DeepSea",
"is_sdsetup": false,
"modules": [
{
"module_name": "Atmosphère",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Hekate",
"download_function_name": "download_hekate",
"git": {
"service": 0,
"org_name": "CTCaer",
"repo_name": "hekate",
"asset_patterns": [
".*hekate.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "Hekate",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Hekate Icons",
"download_function_name": "download_hekate_icons",
"git": {
"service": 0,
"org_name": "NicholeMattera",
"repo_name": "Hekate-Icons",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "Hekate Icons",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Homebrew App Store",
"download_function_name": "download_appstore",
"git": {
"service": 1,
"org_name": "4TU",
"repo_name": "hb-appstore",
"asset_patterns": [
"\\[.*\\.nro\\.zip\\]\\((.*\\.nro\\.zip)\\)"
],
"group": 0,
"version_pattern": null
{
"module_name": "Homebrew App Store",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "EdiZon",
"download_function_name": "download_edizon",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "EdiZon",
"asset_patterns": [
".*\\.nro",
".*\\.ovl"
],
"group": null,
"version_pattern": null
{
"module_name": "EdiZon",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Emuiibo",
"download_function_name": "download_emuiibo",
"git": {
"service": 0,
"org_name": "XorTroll",
"repo_name": "emuiibo",
"asset_patterns": [
".*emuiibo.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "Emuiibo",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Goldleaf",
"download_function_name": "download_goldleaf",
"git": {
"service": 0,
"org_name": "XorTroll",
"repo_name": "Goldleaf",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
{
"module_name": "Goldleaf",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Awoo Installer",
"download_function_name": "download_awoo",
"git": {
"service": 0,
"org_name": "Huntereb",
"repo_name": "Awoo-Installer",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "Awoo Installer",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "DeepSea Toolbox",
"download_function_name": "download_deepsea_toolbox",
"git": {
"service": 0,
"org_name": "Team-Neptune",
"repo_name": "DeepSea-Toolbox",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
{
"module_name": "DeepSea Toolbox",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "DeepSea Updater",
"download_function_name": "download_kosmos_updater",
"git": {
"service": 0,
"org_name": "Team-Neptune",
"repo_name": "DeepSea-Updater",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
{
"module_name": "DeepSea Updater",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "DeepSea Cleaner",
"download_function_name": "download_deepsea_cleaner",
"git": {
"service": 0,
"org_name": "Team-Neptune",
"repo_name": "DeepSea-Cleaner",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "DeepSea Cleaner",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "JKSV",
"download_function_name": "download_jksv",
"git": {
"service": 0,
"org_name": "J-D-K",
"repo_name": "JKSV",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
{
"module_name": "JKSV",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "NXMTP",
"download_function_name": "download_nxmtp",
"git": {
"service": 0,
"org_name": "liuervehc",
"repo_name": "nxmtp",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
{
"module_name": "NXMTP",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "ldn_mitm",
"download_function_name": "download_ldn_mitm",
"git": {
"service": 0,
"org_name": "spacemeowx2",
"repo_name": "ldn_mitm",
"asset_patterns": [
".*ldn_mitm.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "ldn_mitm",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Lockpick_RCM",
"download_function_name": "download_lockpick_rcm",
"git": {
"service": 0,
"org_name": "shchmue",
"repo_name": "Lockpick_RCM",
"asset_patterns": [
".*\\.bin"
],
"group": null,
"version_pattern": null
{
"module_name": "Lockpick_RCM",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "nx-ovlloader",
"download_function_name": "download_nx_ovlloader",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "nx-ovlloader",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "nx-ovlloader",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "ovlSysModules",
"download_function_name": "download_ovl_sysmodules",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "ovl-sysmodules",
"asset_patterns": [
".*\\.ovl"
],
"group": null,
"version_pattern": null
{
"module_name": "ovlSysModules",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Status Monitor Overlay",
"download_function_name": "download_status_monitor_overlay",
"git": {
"service": 0,
"org_name": "masagrator",
"repo_name": "Status-Monitor-Overlay",
"asset_patterns": [
".*\\.ovl"
],
"group": null,
"version_pattern": null
{
"module_name": "Status Monitor Overlay",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "sys-clk",
"download_function_name": "download_sys_clk",
"git": {
"service": 0,
"org_name": "retronx-team",
"repo_name": "sys-clk",
"asset_patterns": [
".*sys-clk-.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "sys-clk",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "sys-con",
"download_function_name": "download_sys_con",
"git": {
"service": 0,
"org_name": "cathery",
"repo_name": "sys-con",
"asset_patterns": [
".*sys-con-.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "sys-clk-ovl",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "sys-ftpd-light",
"download_function_name": "download_sys_ftpd_light",
"git": {
"service": 0,
"org_name": "cathery",
"repo_name": "sys-ftpd-light",
"asset_patterns": [
".*sys-ftpd-light.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "sys-con",
"parameters": null
},
"sdsetup_module_name": null
},
{
"name": "Tesla-Menu",
"download_function_name": "download_tesla_menu",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "Tesla-Menu",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "sys-ftpd-light",
"parameters": null
},
"sdsetup_module_name": null
}
]
{
"module_name": "Tesla-Menu",
"parameters": null
}
]
}

View file

@ -183,7 +183,7 @@ def get_version(module, release, index):
return groups[0]
def download_atmosphere(module, temp_directory, deepsea_version, deepsea_build):
def download_atmosphere(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
bundle_path = download_asset(module, release, 0)
if bundle_path is None:
@ -214,7 +214,7 @@ def download_atmosphere(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0)
def download_hekate(module, temp_directory, deepsea_version, deepsea_build):
def download_hekate(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
bundle_path = download_asset(module, release, 0)
if bundle_path is None:
@ -254,7 +254,7 @@ def download_hekate(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0)
def download_hekate_icons(module, temp_directory, deepsea_version, deepsea_build):
def download_hekate_icons(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
bundle_path = download_asset(module, release, 0)
if bundle_path is None:
@ -279,7 +279,7 @@ def download_hekate_icons(module, temp_directory, deepsea_version, deepsea_build
return get_version(module, release, 0)
def download_appstore(module, temp_directory, deepsea_version, deepsea_build):
def download_appstore(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
bundle_path = download_asset(module, release, 0)
if bundle_path is None:
@ -296,7 +296,7 @@ def download_appstore(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0)
def download_edizon(module, temp_directory, deepsea_version, deepsea_build):
def download_edizon(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
app_path = download_asset(module, release, 0)
if app_path is None:
@ -316,7 +316,7 @@ def download_edizon(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0)
def download_emuiibo(module, temp_directory, deepsea_version, deepsea_build):
def download_emuiibo(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
bundle_path = download_asset(module, release, 0)
if bundle_path is None:
@ -342,7 +342,7 @@ def download_emuiibo(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0)
def download_goldleaf(module, temp_directory, deepsea_version, deepsea_build):
def download_goldleaf(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
app_path = download_asset(module, release, 0)
if app_path is None:
@ -355,7 +355,7 @@ def download_goldleaf(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0)
def download_deepsea_cleaner(module, temp_directory, deepsea_version, deepsea_build):
def download_deepsea_cleaner(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
bundle_path = download_asset(module, release, 0)
if bundle_path is None:
@ -367,7 +367,7 @@ def download_deepsea_cleaner(module, temp_directory, deepsea_version, deepsea_bu
return get_version(module, release, 0)
def download_deepsea_toolbox(module, temp_directory, deepsea_version, deepsea_build):
def download_deepsea_toolbox(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
app_path = download_asset(module, release, 0)
if app_path is None:
@ -384,7 +384,7 @@ def download_deepsea_toolbox(module, temp_directory, deepsea_version, deepsea_bu
return get_version(module, release, 0)
def download_kosmos_updater(module, temp_directory, deepsea_version, deepsea_build):
def download_kosmos_updater(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
app_path = download_asset(module, release, 0)
if app_path is None:
@ -401,7 +401,7 @@ def download_kosmos_updater(module, temp_directory, deepsea_version, deepsea_bui
return get_version(module, release, 0)
def download_ldn_mitm(module, temp_directory, deepsea_version, deepsea_build):
def download_ldn_mitm(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
bundle_path = download_asset(module, release, 0)
if bundle_path is None:
@ -420,7 +420,7 @@ def download_ldn_mitm(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0)
def download_lockpick(module, temp_directory, deepsea_version, deepsea_build):
def download_lockpick(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
app_path = download_asset(module, release, 0)
if app_path is None:
@ -433,7 +433,7 @@ def download_lockpick(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0)
def download_lockpick_rcm(module, temp_directory, deepsea_version, deepsea_build):
def download_lockpick_rcm(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
payload_path = download_asset(module, release, 0)
if payload_path is None:
@ -449,7 +449,7 @@ def download_lockpick_rcm(module, temp_directory, deepsea_version, deepsea_build
return get_version(module, release, 0)
def download_nxdumptool(module, temp_directory, deepsea_version, deepsea_build):
def download_nxdumptool(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
app_path = download_asset(module, release, 0)
if app_path is None:
@ -462,7 +462,7 @@ def download_nxdumptool(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0)
def download_nx_ovlloader(module, temp_directory, deepsea_version, deepsea_build):
def download_nx_ovlloader(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
bundle_path = download_asset(module, release, 0)
if bundle_path is None:
@ -476,7 +476,7 @@ def download_nx_ovlloader(module, temp_directory, deepsea_version, deepsea_build
return get_version(module, release, 0)
def download_ovl_sysmodules(module, temp_directory, deepsea_version, deepsea_build):
def download_ovl_sysmodules(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
app_path = download_asset(module, release, 0)
if app_path is None:
@ -489,7 +489,7 @@ def download_ovl_sysmodules(module, temp_directory, deepsea_version, deepsea_bui
return get_version(module, release, 0)
def download_status_monitor_overlay(module, temp_directory, deepsea_version, deepsea_build):
def download_status_monitor_overlay(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
app_path = download_asset(module, release, 0)
if app_path is None:
@ -502,7 +502,7 @@ def download_status_monitor_overlay(module, temp_directory, deepsea_version, dee
return get_version(module, release, 0)
def download_sys_clk(module, temp_directory, deepsea_version, deepsea_build):
def download_sys_clk(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
bundle_path = download_asset(module, release, 0)
if bundle_path is None:
@ -522,7 +522,19 @@ def download_sys_clk(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0)
def download_sys_con(module, temp_directory, deepsea_version, deepsea_build):
def download_sys_clk_ovl(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
app_path = download_asset(module, release, 0)
if app_path is None:
return None
common.move(app_path, temp_directory.joinpath(
'switch/.overlays/sys-clk-Overlay.ovl'))
return get_version(module, release, 0)
def download_sys_con(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
bundle_path = download_asset(module, release, 0)
if bundle_path is None:
@ -539,7 +551,7 @@ def download_sys_con(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0)
def download_sys_ftpd_light(module, temp_directory, deepsea_version, deepsea_build):
def download_sys_ftpd_light(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
bundle_path = download_asset(module, release, 0)
if bundle_path is None:
@ -556,7 +568,7 @@ def download_sys_ftpd_light(module, temp_directory, deepsea_version, deepsea_bui
return get_version(module, release, 0)
def download_tesla_menu(module, temp_directory, deepsea_version, deepsea_build):
def download_tesla_menu(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
bundle_path = download_asset(module, release, 0)
if bundle_path is None:
@ -570,7 +582,7 @@ def download_tesla_menu(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0)
def download_awoo(module, temp_directory, deepsea_version, deepsea_build):
def download_awoo(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
app_path = download_asset(module, release, 0)
if app_path is None:
@ -582,7 +594,7 @@ def download_awoo(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0)
def download_jksv(module, temp_directory, deepsea_version, deepsea_build):
def download_jksv(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
app_path = download_asset(module, release, 0)
if app_path is None:
@ -595,7 +607,7 @@ def download_jksv(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0)
def download_nxmtp(module, temp_directory, deepsea_version, deepsea_build):
def download_nxmtp(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
app_path = download_asset(module, release, 0)
if app_path is None:
@ -608,7 +620,7 @@ def download_nxmtp(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0)
def download_pkg2_patches(module, temp_directory, deepsea_version, deepsea_build):
def download_pkg2_patches(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
fusee_patches_path = download_asset(module, release, 0)
if fusee_patches_path is None:
@ -635,7 +647,7 @@ def download_pkg2_patches(module, temp_directory, deepsea_version, deepsea_build
return get_version(module, release, 0)
def download_es_patches(module, temp_directory, deepsea_version, deepsea_build):
def download_es_patches(module, temp_directory, deepsea_version, parameters, deepsea_build):
release = get_latest_release(module)
es_patches_path = download_asset(module, release, 0)
if es_patches_path is None:
@ -649,56 +661,67 @@ def download_es_patches(module, temp_directory, deepsea_version, deepsea_build):
return get_version(module, release, 0)
def build(temp_directory, deepsea_version, command, auto_build):
def build(temp_directory, deepsea_version, package_content, auto_build):
results = []
modules_filename = 'deepsea.json'
if command == common.Command.KosmosMinimal:
modules_filename = 'deepsea-minimal.json'
elif command == common.Command.SDSetup:
modules_filename = 'sdsetup.json'
elif command == common.Command.KosmosPatches:
modules_filename = "deepsea-patches.json"
elif command == common.Command.KosmosMinimalPatches:
modules_filename = "deepsea-minimal-patches.json"
# Open up modules-definitions.json first and load all modules
mods_map = {}
with open("Modules/modules-definitions.json") as mod_json_file:
mods_data = json.load(mod_json_file)
for module_def in mods_data:
name = module_def['name']
if name in mods_map:
raise Exception(
'Multiple definitions of module with name '+name)
mods_map[name] = module_def
# Open up modules.json
with open(modules_filename) as json_file:
# Parse JSON
data = json.load(json_file)
data = package_content['modules']
# Loop through modules
for module in data:
# Running a SDSetup Build
if command == common.Command.SDSetup:
# Make sure module directory is created.
module_directory = temp_directory.joinpath(
module['sdsetup_module_name'])
common.mkdir(module_directory)
# Loop through modules
for mod_entry in data:
mod_id = mod_entry['module_name']
if mod_id not in mods_map:
raise Exception('Module with name '+mod_id+' does not exist')
# Download the module.
download = globals()[module['download_function_name']]
version = download(module, module_directory,
deepsea_version, False)
if version is None:
return None
module = mods_map[mod_id]
parameters = mod_entry.get('parameters')
# Auto builds have a different prompt at the end for parsing.
if auto_build:
results.append(
f'{module["sdsetup_module_name"]}:{version}')
else:
results.append(f' {module["name"]} - {version}')
# Running a SDSetup Build
if package_content['is_sdsetup']:
# Only show prompts when it's not an auto build.
if not auto_build:
print(f'Downloading {module["name"]}...')
# Running a Kosmos Build
# Make sure module directory is created.
module_directory = temp_directory.joinpath(
module['sdsetup_module_name'])
common.mkdir(module_directory)
# Download the module.
download = globals()[module['download_function_name']]
version = download(module, module_directory,
deepsea_version, parameters, False)
if version is None:
return None
# Auto builds have a different prompt at the end for parsing.
if auto_build:
results.append(
f'{module["sdsetup_module_name"]}:{version}')
else:
# Download the module.
# print(f'Downloading {module["name"]}...')
download = globals()[module['download_function_name']]
version = download(module, temp_directory,
deepsea_version, True)
if version is None:
return None
results.append(f' {module["name"]} - {version}')
# Running a Kosmos Build
else:
# Download the module.
print(f'Downloading {module["name"]}...')
download = globals()[module['download_function_name']]
version = download(module, temp_directory,
deepsea_version, parameters, True)
if version is None:
return None
results.append(f' {module["name"]} - {version}')
return results

View file

@ -1,243 +1,70 @@
[
{
"name": "Atmosphère",
"download_function_name": "download_atmosphere",
"git": {
"service": 0,
"org_name": "Atmosphere-NX",
"repo_name": "Atmosphere",
"asset_patterns": [
".*atmosphere.*\\.zip",
".*fusee.*\\.bin"
],
"group": null,
"version_pattern": null
{
"package_name": "SDSetup",
"is_sdsetup": true,
"modules": [
{
"module_name": "Atmosphère",
"parameters": null
},
"sdsetup_module_name": "must_have"
},
{
"name": "Hekate",
"download_function_name": "download_hekate",
"git": {
"service": 0,
"org_name": "CTCaer",
"repo_name": "hekate",
"asset_patterns": [
".*hekate.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "Hekate",
"parameters": null
},
"sdsetup_module_name": "hekate"
},
{
"name": "Hekate Icons",
"download_function_name": "download_hekate_icons",
"git": {
"service": 0,
"org_name": "NicholeMattera",
"repo_name": "Hekate-Icons",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "Hekate Icons",
"parameters": null
},
"sdsetup_module_name": "hekate_icons"
},
{
"name": "Emuiibo",
"download_function_name": "download_emuiibo",
"git": {
"service": 0,
"org_name": "XorTroll",
"repo_name": "emuiibo",
"asset_patterns": [
".*emuiibo.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "Emuiibo",
"parameters": null
},
"sdsetup_module_name": "emuiibo"
},
{
"name": "Kosmos Cleaner",
"download_function_name": "download_kosmos_cleaner",
"git": {
"service": 0,
"org_name": "AtlasNX",
"repo_name": "Kosmos-Cleaner",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "Kosmos Cleaner",
"parameters": null
},
"sdsetup_module_name": "kosmos_cleaner"
},
{
"name": "Kosmos Toolbox",
"download_function_name": "download_kosmos_toolbox",
"git": {
"service": 0,
"org_name": "AtlasNX",
"repo_name": "Kosmos-Toolbox",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
{
"module_name": "Kosmos Toolbox",
"parameters": null
},
"sdsetup_module_name": "kosmos_toolbox"
},
{
"name": "Kosmos Updater",
"download_function_name": "download_kosmos_updater",
"git": {
"service": 0,
"org_name": "AtlasNX",
"repo_name": "Kosmos-Updater",
"asset_patterns": [
".*\\.nro"
],
"group": null,
"version_pattern": null
{
"module_name": "Kosmos Updater",
"parameters": null
},
"sdsetup_module_name": "kosmos_updater"
},
{
"name": "ldn_mitm",
"download_function_name": "download_ldn_mitm",
"git": {
"service": 0,
"org_name": "spacemeowx2",
"repo_name": "ldn_mitm",
"asset_patterns": [
".*ldn_mitm.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "ldn_mitm",
"parameters": null
},
"sdsetup_module_name": "ldn_mitm"
},
{
"name": "Lockpick_RCM",
"download_function_name": "download_lockpick_rcm",
"git": {
"service": 0,
"org_name": "shchmue",
"repo_name": "Lockpick_RCM",
"asset_patterns": [
".*\\.bin"
],
"group": null,
"version_pattern": null
{
"module_name": "Lockpick_RCM",
"parameters": null
},
"sdsetup_module_name": "lockpick_rcm"
},
{
"name": "nx-ovlloader",
"download_function_name": "download_nx_ovlloader",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "nx-ovlloader",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "nx-ovlloader",
"parameters": null
},
"sdsetup_module_name": "nx_ovlloader"
},
{
"name": "ovlSysModules",
"download_function_name": "download_ovl_sysmodules",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "ovl-sysmodules",
"asset_patterns": [
".*\\.ovl"
],
"group": null,
"version_pattern": null
{
"module_name": "ovlSysModules",
"parameters": null
},
"sdsetup_module_name": "ovl_sysmodules"
},
{
"name": "Status Monitor Overlay",
"download_function_name": "download_status_monitor_overlay",
"git": {
"service": 0,
"org_name": "masagrator",
"repo_name": "Status-Monitor-Overlay",
"asset_patterns": [
".*\\.ovl"
],
"group": null,
"version_pattern": null
{
"module_name": "Status Monitor Overlay",
"parameters": null
},
"sdsetup_module_name": "status_monitor_overlay"
},
{
"name": "sys-clk",
"download_function_name": "download_sys_clk",
"git": {
"service": 0,
"org_name": "retronx-team",
"repo_name": "sys-clk",
"asset_patterns": [
".*sys-clk-.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "sys-clk",
"parameters": null
},
"sdsetup_module_name": "sys_clk"
},
{
"name": "sys-con",
"download_function_name": "download_sys_con",
"git": {
"service": 0,
"org_name": "cathery",
"repo_name": "sys-con",
"asset_patterns": [
".*sys-con-.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "sys-con",
"parameters": null
},
"sdsetup_module_name": "sys_con"
},
{
"name": "sys-ftpd-light",
"download_function_name": "download_sys_ftpd_light",
"git": {
"service": 0,
"org_name": "cathery",
"repo_name": "sys-ftpd-light",
"asset_patterns": [
".*sys-ftpd-light.*\\.zip"
],
"group": null,
"version_pattern": null
{
"module_name": "sys-ftpd-light",
"parameters": null
},
"sdsetup_module_name": "sys_ftpd"
},
{
"name": "Tesla-Menu",
"download_function_name": "download_tesla_menu",
"git": {
"service": 0,
"org_name": "WerWolv",
"repo_name": "Tesla-Menu",
"asset_patterns": [
".*\\.zip"
],
"group": null,
"version_pattern": null
},
"sdsetup_module_name": "tesla_menu"
}
]
{
"module_name": "Tesla-Menu",
"parameters": null
}
]
}