{"id":16683358,"url":"https://github.com/ellpeck/gamebundle","last_synced_at":"2025-03-21T18:32:51.529Z","repository":{"id":65703700,"uuid":"254388461","full_name":"Ellpeck/GameBundle","owner":"Ellpeck","description":"A tool to package MonoGame and other .NET Core applications into several distributable formats","archived":false,"fork":false,"pushed_at":"2024-08-31T11:20:30.000Z","size":69,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-13T14:24:16.528Z","etag":null,"topics":["bundler","gamebundle","linux","mac","monogame","monogame-framework","release-automation","windows"],"latest_commit_sha":null,"homepage":"https://www.nuget.org/packages/GameBundle","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ellpeck.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"Ellpeck","ko_fi":"Ellpeck"}},"created_at":"2020-04-09T14:07:05.000Z","updated_at":"2024-08-31T11:20:33.000Z","dependencies_parsed_at":"2023-02-18T23:45:30.185Z","dependency_job_id":null,"html_url":"https://github.com/Ellpeck/GameBundle","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ellpeck%2FGameBundle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ellpeck%2FGameBundle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ellpeck%2FGameBundle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ellpeck%2FGameBundle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ellpeck","download_url":"https://codeload.github.com/Ellpeck/GameBundle/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221817623,"owners_count":16885578,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bundler","gamebundle","linux","mac","monogame","monogame-framework","release-automation","windows"],"created_at":"2024-10-12T14:24:17.241Z","updated_at":"2025-03-21T18:32:51.498Z","avatar_url":"https://github.com/Ellpeck.png","language":"C#","funding_links":["https://github.com/sponsors/Ellpeck","https://ko-fi.com/Ellpeck"],"categories":[],"sub_categories":[],"readme":"![The GameBundle logo](https://raw.githubusercontent.com/Ellpeck/GameBundle/main/Banner.png)\n\n**GameBundle** is a tool to package MonoGame and other .NET applications into several distributable formats.\n\n# Installing\nGameBundle is a `dotnet` tool, meaning you can install it very easily like so:\n```\ndotnet tool install --global GameBundle\n```\n\n# Using\nBy default, GameBundle builds the `.csproj` file that it finds in the directory that it is run from. The bundled outputs go into `bin/Bundled` by default.\n\nTo build and bundle your app for Windows, Linux and Mac, all you have to do is run the following command from the directory that contains your project file:\n```\ngamebundle -wlm\n```\n\nGameBundle will then build a self-contained release of your application for each system using `dotnet publish` and clean up the output directory using [NetCoreBeauty](https://github.com/nulastudio/NetCoreBeauty) by moving most of the libraries into a `Lib` subdirectory.\n\n## Building a MonoGame Project\nIf you're building a MonoGame project using MonoGame's DesktopGL version 3.8.2.1105 or later, you can additionally supply the `--mg` argument to automatically exclude MonoGame's native libraries from being moved into the `Lib` subdirectory, which is a requirement for your game to run.\n\n# Configuring\nGameBundle takes several optional arguments to modify the way it works. To see a list of all possible arguments, simply run\n```\ngamebundle --help\n```\n\nHere is a list of them as of GameBundle version 1.6.1:\n```\n  -s, --source              The location of the .csproj file that should be built and bundled. By default, the current directory is scanned for one\n\n  -o, --output              (Default: bin/Bundled) The location of the directory that the bundles should be stored in\n\n  -v, --verbose             Display verbose output while building\n\n  -w, --win                 Bundle for windows\n\n  -l, --linux               Bundle for linux\n\n  -m, --mac                 Bundle for mac\n\n  --win-rid                 (Default: win-x64) The RID to use for windows builds\n\n  --linux-rid               (Default: linux-x64) The RID to use for linux builds\n\n  --mac-rid                 (Default: osx-x64) The RID to use for mac builds\n\n  -W, --win-arm             Bundle for windows arm\n\n  -L, --linux-arm           Bundle for linux arm\n\n  -M, --mac-arm             Bundle for mac arm\n\n  --win-arm-rid             (Default: win-arm64) The RID to use for windows arm builds\n\n  --linux-arm-rid           (Default: linux-arm64) The RID to use for linux arm builds\n\n  --mac-arm-rid             (Default: osx-arm64) The RID to use for mac arm builds\n\n  -z, --zip                 Store the build results in zip files instead of folders\n\n  -b, --mac-bundle          Create an app bundle for mac\n\n  --mac-bundle-resources    (Default: Content *.icns) When creating an app bundle for mac, things that should go into the Resources folder rather than the MacOS folder\n\n  --mac-bundle-ignore       When creating an app bundle for mac, things that should be left out of the mac bundle and stay in the output folder\n\n  --skip-lib                When bundling, skip beautifying the output by moving files to the library folder\n\n  -e, --exclude             Files that should not be moved to the library folder\n\n  --mg                      Exclude MonoGame's native libraries from being moved to the library folder, which is a requirement for DesktopGL version 3.8.2.1105 or later.\n                            This has the same behavior as supplying the --exclude arguments soft_oal.dll, SDL2.dll, libopenal.so.1, libSDL2-2.0.so.0, libopenal.1.dylib and libSDL2.dylib\n\n  --lib-name                (Default: Lib) The name of the library folder that is created\n\n  -t, --trim                Trim the application when publishing\n\n  -c, --config              (Default: Release) The build configuration to use\n\n  -a, --build-args          Additional arguments that should be passed to the dotnet publish command\n\n  -n, --name-builds         Name the build output directories by the name of the executable\n\n  -N, --name-addition       An additional string of text that should be included in the names of the output directories\n\n  -V, --include-version     Include the project's version in the names of the output directories\n\n  --help                    Display this help screen.\n\n  --version                 Display version information.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fellpeck%2Fgamebundle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fellpeck%2Fgamebundle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fellpeck%2Fgamebundle/lists"}