2023-02-25 20:55:43 +01:00
[Issue Tracker](https://github.com/wiiu-env/WiiUPluginSystem/issues) | [Discord](https://discord.gg/bZ2rep2)
2018-02-16 22:20:04 +01:00
# What is the Wii U Plugin System?
2023-02-25 20:55:43 +01:00
The Wii U Plugin System is a library to create plugins for the [WiiUPluginLoaderBackend](https://github.com/wiiu-env/WiiUPluginLoaderBackend).
See the repository of the Backend for more information.
2018-09-22 18:09:29 +02:00
2023-02-25 20:55:43 +01:00
## How create plugins
See the [example plugin](https://github.com/wiiu-env/WiiUPluginSystem/tree/master/plugins/example_plugin) for more information about creating a plugin.
2018-07-20 16:54:17 +02:00
2023-02-25 20:55:43 +01:00
## Compile and install the WUPS lib
For building you need:
- [wut](https://github.com/devkitPro/wut)
2018-07-20 16:54:17 +02:00
2023-02-25 20:55:43 +01:00
Install them (in this order) according to their README's. Don't forget the dependencies of the libs itself.
2018-07-20 16:54:17 +02:00
2023-02-25 20:55:43 +01:00
Then you can compile and install this lib via `make install`.
2018-07-20 16:54:17 +02:00
2023-02-25 20:55:43 +01:00
## Use this lib in Dockerfiles.
A prebuilt version of this lib can found on dockerhub. To use it for your projects, add this to your Dockerfile.
```
[...]
2023-03-16 12:46:07 +01:00
COPY --from=ghcr.io/wiiu-env/wiiupluginsystem:[tag] /artifacts $DEVKITPRO
2023-02-25 20:55:43 +01:00
[...]
```
2023-03-16 12:46:07 +01:00
Replace [tag] with a tag you want to use, a list of tags can be found [here](https://github.com/wiiu-env/WiiUPluginSystem/pkgs/container/wiiupluginsystem/versions).
2023-02-25 20:55:43 +01:00
It's highly recommended to pin the version to the **latest date** instead of using `latest`.
2018-02-03 12:47:57 +01:00
2022-02-03 16:24:36 +01:00
## Format the code via docker
2023-12-16 17:16:43 +01:00
`docker run --rm -v ${PWD}:/src ghcr.io/wiiu-env/clang-format:13.0.0-2 -r ./include ./libraries ./plugins/example_plugin/src ./plugins/example_plugin_cpp/src ./plugins/storage_test_plugin/src --exclude ./plugins/storage_test_plugin/src/catch2 -i`