Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/errorstream/upak
A CLI for automating unity package operations
https://github.com/errorstream/upak
automation devops doxygen nuget packaging unity unity3d
Last synced: 16 days ago
JSON representation
A CLI for automating unity package operations
- Host: GitHub
- URL: https://github.com/errorstream/upak
- Owner: errorStream
- License: gpl-3.0
- Created: 2024-03-30T07:58:38.000Z (8 months ago)
- Default Branch: master
- Last Pushed: 2024-03-31T02:18:41.000Z (8 months ago)
- Last Synced: 2024-10-16T11:21:56.146Z (about 1 month ago)
- Topics: automation, devops, doxygen, nuget, packaging, unity, unity3d
- Language: C#
- Homepage:
- Size: 41.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
Table of Contents
## About The Project
![Screen recording of usage](./images/screenrecording.gif)
This is the project for UPak, a command line program which provides functionality for automating various package management operations in Unity.
See the [usage](#usage) section to see what kinds of operations this tool can currently automate.
### Built With
* [Sharprompt](https://github.com/shibayan/Sharprompt)
* [Newtonsoft.Json](https://www.newtonsoft.com/json)## Getting Started
This is an example of how you may give instructions on setting up your project locally.
To get a local copy up and running follow these simple example steps.### Installation
1. Go to [releases](https://github.com/errorStream/UPak/releases)
2. Download the version which matches your platform
3. Unzip it and store the `upak` file somewhere
4. (Optional) Move the `upak` file to a directory in your path for easy calling## Usage
Execute the upak file to see usage instructions.
Note that you can use the `--safe` option to provide confirmation every time upak performs an operation which will mutate the state of your system. Used as such `upak --safe `.
### Generate a unity package
Custom Unity package generation is done through `upak pack init`.
```shell
upak pack init
```It runs you through a series of questions with accompanying explanation, once this is complete it caries out generating the package with the appropriate settings.
This command supports both embedded (packages inside the Packages directory of a Unity project, which are installed into that project automatically) and local packages (packages which are stored anywhere on disk and can be linked to a Unity project by clicking "Install from disk" in the package manager and selecting the `package.json` file).
This command is useful because the requirements for a unity package are throughly and explicitly defined in the [unity documentation](https://docs.unity3d.com/Manual/CustomPackages.html), but the process of setting up this configuration is failry lengthly and error prone.
### Download a library from NuGet
Downloading a pre-built library from the NuGet repository is done through the `upak nuget install ` command.
This command downloads a compatible dll of a given package of a given version from upak to the Unity project which this command is run inside of. When Unity finds such a file it installs it and makes the library code accessable to your scripts.
```shell
upak nuget install
```This won't work on all libraries, and dependencies currently also have to be installed manually through this command, but it does make the process much less tediouse when it is needed.
## Roadmap
- [ ] Samples generation
- [ ] Modification tools
- [ ] Ability to skip/add/remove assemblies
- [ ] Git repo generation
- [ ] License picking and generation
- [ ] Changelog automationSee the [open issues](https://github.com/errorStream/UPak/issues) for a full list of proposed features (and known issues).
## Contributing
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star! Thanks again!1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request## License
Distributed under the GNU GPLv3 License. See `LICENSE.txt` for more information.
## Contact
ErrorStream - [itch.io profile](https://errorstream.itch.io) - [email protected]
Project Link: [https://github.com/errorStream/UPak](https://github.com/errorStream/UPak)