Skip to content

Commit 99ba667

Browse files
authored
Merge pull request #30 from microdee/feature/doxygen
Doxygen generated documentation + new logo
2 parents 4eaa159 + 758b6cb commit 99ba667

File tree

87 files changed

+15404
-3337
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+15404
-3337
lines changed

.github/FUNDING.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# These are supported funding model platforms
2+
3+
github: [ microdee ]
4+
ko_fi: microdee
5+
thanks_dev: microdee

.github/workflows/doxygen.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
on:
2+
push:
3+
branches:
4+
- main
5+
- master
6+
- gh-actions-test
7+
tags:
8+
- generate-docs
9+
permissions:
10+
contents: write
11+
12+
jobs:
13+
deploy:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout
17+
uses: actions/checkout@v4
18+
with:
19+
submodules: recursive
20+
- name: Doxygen on GitHub Pages
21+
id: ghaction
22+
uses: AgarwalSaurav/ghaction-doxygen-ghpages@de7725119570b5d09a5d7872518f9e5cbd8dae8e
23+
with:
24+
github_token: ${{ secrets.GITHUB_TOKEN }}
25+
working-directory: docs
26+
doxyfile-path: Doxyfile
27+
html-output-folder: Doxygen/html
28+
branch: gh-pages

.gitmodules

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[submodule "docs/DoxygenAwesome"]
2+
path = docs/DoxygenAwesome
3+
url = https://github.com/jothepro/doxygen-awesome-css.git

README.md

Lines changed: 69 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,68 @@
11
<div align="center">
22

3-
![](docs/nu_logo-250.png)
3+
<img width="540px" src="docs/Images/nu.full.onLight.svg#gh-light-mode-only" />
4+
<img width="540px" src="docs/Images/nu.full.onDark.svg#gh-dark-mode-only" />
45

56
![](https://badgen.net/nuget/v/md.Nuke.Unreal)
67

7-
# Nuke.Unreal
8+
### [Documentation](https://mcro.de/Nuke.Unreal)
89

910
</div>
1011

11-
Simplistic workflow for automating Unreal Engine project tasks embracing [Nuke](https://nuke.build), providing a consistent way to use UE4/5 tools and reducing chores they come with.
12+
Elegant workflow for automating Unreal Engine project tasks embracing [Nuke](https://nuke.build), providing a consistent way to use UE4/5 tools and reducing chores they come with.
1213

13-
- [Nuke.Unreal](#nukeunreal)
14+
# Features:
15+
16+
* All what the great Nuke can offer
17+
* Common Unreal build tasks (generate project files, build editor, cook, package, etc)
18+
```
19+
> nuke generate
20+
> nuke build-editor
21+
> nuke cook
22+
> nuke package
23+
> nuke build --config Shipping
24+
> nuke build --config DebugGame Development --target-type Game --platform Android
25+
```
26+
* Unreal engine location is automatically determined (on Windows at least)
27+
* Execute Unreal tools without the need to navigate to their location
28+
```
29+
> nuke run-uat --> <args...>
30+
> nuke run-ubt --> <args...>
31+
> nuke run-shell
32+
> nuke run --tool editor-cmd --> <args...>
33+
```
34+
* Install C++ libraries (using [xrepo](https://xrepo.xmake.io))
35+
```
36+
> nuke use-xrepo --spec "imgui 1.91.1 freetype=true" "vcpkg::ryml[dbg]" "conan::zlib/1.2.11"
37+
> nuke generate
38+
```
39+
* Generate boilerplate code and scaffolding from [Scriban](https://github.com/scriban/scriban) templates so no editor needs to be opened
40+
```
41+
> nuke new-actor --name MyActor
42+
> nuke new-plugin --name MyPlugin
43+
> nuke new-module --name MyModule
44+
> nuke use-cmake --spec MyLibrary
45+
etc...
46+
```
47+
* Generated C# configurators for Unreal tools with gathered documentation. (UBT and UAT)
48+
* Pluggable way to define targets for reusable plugins and modules
49+
* Prepare Unreal Plugins for distribution with easy to use API.
50+
51+
### This README file is now deprecated
52+
53+
> [!IMPORTANT]
54+
> Documentation is migrated over to https://mcro.de/Nuke.Unreal which is nicer than this readme file. This README is now deprecated and won't be updated. However external links may direct to this README file. For this reason its contents of will be kept until October 2026.
55+
56+
---
57+
58+
&nbsp;
59+
60+
61+
- [Features:](#features)
62+
- [This README file is now deprecated](#this-readme-file-is-now-deprecated)
1463
- [Usage](#usage)
1564
- [Install via remote script](#install-via-remote-script)
1665
- [Install manually](#install-manually)
17-
- [Features:](#features)
1866
- [Setting up for a project](#setting-up-for-a-project)
1967
- [Setting up for plugin development](#setting-up-for-plugin-development)
2068
- [Passing command line arguments to Unreal tools](#passing-command-line-arguments-to-unreal-tools)
@@ -107,43 +155,6 @@ public class Build : UnrealBuild
107155
}
108156
```
109157

110-
# Features:
111-
112-
* All what the great Nuke can offer
113-
* Common Unreal build tasks (generate project files, build editor, cook, package, etc)
114-
```
115-
> nuke generate
116-
> nuke build-editor
117-
> nuke cook
118-
> nuke package
119-
> nuke build --config Shipping
120-
> nuke build --config DebugGame Development --target-type Game --platform Android
121-
```
122-
* Unreal engine location is automatically determined (on Windows at least)
123-
* Execute Unreal tools without the need to navigate to their location
124-
```
125-
> nuke run-uat --> <args...>
126-
> nuke run-ubt --> <args...>
127-
> nuke run-shell
128-
> nuke run --tool editor-cmd --> <args...>
129-
```
130-
* Install C++ libraries (using [xrepo](https://xrepo.xmake.io))
131-
```
132-
> nuke use-xrepo --spec "imgui 1.91.1 freetype=true" "vcpkg::ryml[dbg]" "conan::zlib/1.2.11"
133-
> nuke generate
134-
```
135-
* Generate boilerplate code and scaffolding from [Scriban](https://github.com/scriban/scriban) templates so no editor needs to be opened
136-
```
137-
> nuke new-actor --name MyActor
138-
> nuke new-plugin --name MyPlugin
139-
> nuke new-module --name MyModule
140-
> nuke use-cmake --spec MyLibrary
141-
etc...
142-
```
143-
* Generated C# configurators for Unreal tools with gathered documentation. (UBT and UAT)
144-
* Pluggable way to define targets for reusable plugins and modules
145-
* Prepare Unreal Plugins for distribution with easy to use API.
146-
147158
# Setting up for a project
148159

149160
Nuke.Unreal targets looks for the `*.uproject` file automatically and it will use the first one it finds. A `*.uproject` is required to be present even for plugin development (more on plugins below). Automatically found project files can be in the sub-folder tree of Nuke's root (which is the folder containing the `.nuke` temporary folder) or in parent folders of Nuke's root. If for any reason there are more than one or no `*.uproject` files in that area, the developer can specify an explicit location of the associated `*.uproject` file.
@@ -160,7 +171,7 @@ A little bit of theory: Unreal plugins are simple on the surface but easily can
160171

161172
<div align="center">
162173

163-
![](docs/PluginStages.drawio.svg)
174+
![](docs/Images/PluginStages.drawio.svg)
164175

165176
</div>
166177

@@ -665,7 +676,7 @@ This is of course a toy example. As you can see though this may end up with quit
665676

666677
In Nuke (and consequently in Nuke.Unreal) a target is a delegate which can build a dependency execution graph with other targets. Nuke's main selling point is how these targets allow complex build compositions and how that can be controlled via command line or profile files.
667678

668-
![](docs/plan.png)
679+
![](docs/Images/plan.png)
669680

670681
Nuke.Unreal provides couple of universally useful targets associated with regular chores regarding Unreal Engine development. The above figure shows all convenience targets available and their relationship to each other. This also includes optional targets (coming from `IPackageTargets`, `IPluginTargets` and `IAndroidTargets`)
671682

@@ -945,3 +956,17 @@ This was an attempt to sync Java files copied into the generated Gradle project
945956
* [Nuke.Unreal 2.2](https://mcro.de/c/log/nuke-unreal-2-2)
946957
* [Nuke.Unreal 2.1](https://mcro.de/c/log/nuke-unreal-2-1)
947958
* [Nuke.Unreal 1.2](https://mcro.de/c/log/nuke-unreal-1-2)
959+
960+
&nbsp;
961+
962+
---
963+
964+
> [!IMPORTANT]
965+
> Documentation is migrated over to https://mcro.de/Nuke.Unreal which is nicer than this readme file. This README is now deprecated and won't be updated. However external links may direct to this README file. For this reason its contents of will be kept until October 2026.
966+
967+
<div align="center">
968+
969+
<img width="265px" src="docs/Images/nu.icon.onLight.svg#gh-light-mode-only" />
970+
<img width="265px" src="docs/Images/nu.icon.onDark.svg#gh-dark-mode-only" />
971+
972+
</div>

build/Build.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,8 @@ class Build : NukeBuild, IPublishNugets
8989
new("5.3", UnrealCompatibility.UE_5_3),
9090
new("5.4", UnrealCompatibility.UE_5_4),
9191
new("5.5", UnrealCompatibility.UE_5_5),
92-
new("5.6", UnrealCompatibility.UE_5_Latest),
92+
new("5.6", UnrealCompatibility.UE_5_6),
93+
new("5.7", UnrealCompatibility.UE_5_Latest),
9394
};
9495
new UbtGeneratorFromSource().Generate(this, engines);
9596
new UatGenerator().Generate(this, engines);

build/_build.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
<PackageReference Include="Scriban" Version="5.12.1" GeneratePathProperty="true" PrivateAssets="all" />
2222
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.11.0" />
2323
<PackageReference Include="Towel" Version="1.0.40" />
24-
<PackageReference Include="md.Nuke.Cola" Version="2.2.12" />
24+
<PackageReference Include="md.Nuke.Cola" Version="2.3.0" />
2525
</ItemGroup>
2626

2727
<ItemGroup>

docs/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Doxygen

0 commit comments

Comments
 (0)