Skip to content

Commit 194c8f3

Browse files
committed
restructure Windows.md
1 parent 14c825f commit 194c8f3

File tree

1 file changed

+21
-21
lines changed

1 file changed

+21
-21
lines changed

Windows.md

+21-21
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,28 @@
1515

1616
# Apache NiFi - MiNiFi - C++ Windows Build Guide
1717

18-
## Requirements
18+
## Python based bootstrapping (recommended)
19+
Prerequisites:
20+
- [python](https://docs.python.org/)
21+
- [venv](https://docs.python.org/3/library/venv.html)
22+
- [chocolatey](https://chocolatey.org/)
23+
```dos
24+
.\bootstrap\py_bootstrap.bat
25+
```
26+
27+
This will set up a virtual environment in the bootstrap folder, and guide you through the build process.
28+
This will also download and install all dependencies required for the selected components.
29+
It will also create a batch file (.\bootstrap\build_environment.bat),
30+
which sets the necessary environment variables for the build, so it can be built without bootstrapping everytime.
31+
32+
33+
## Alternative: Building via build script (advanced)
1934

2035
Apache NiFi MiNiFi C++ has been built on Window Server 2016, 2019, and Windows 10 operating systems. The project is CMake focused we suggest building via Visual Studio 2022 or our `win_build_vs.bat` script.
2136

2237
The project previously required OpenSSL to be installed. If you follow our build procedures, below, you will not need to install that dependency.
2338

24-
### Required software
39+
#### Required software
2540

2641
- Visual Studio 2022
2742
- [CMake](https://cmake.org/download/)
@@ -31,26 +46,11 @@ The project previously required OpenSSL to be installed. If you follow our build
3146
- (Optional) [WiX Toolset](https://wixtoolset.org/releases/) (only for building the MSI)
3247
- (Optional) JDK (only for JNI support)
3348

34-
### JNI support
49+
#### JNI support
3550
Though the project is written in C++, JNI functionality supports running Java processors stored in NiFi Archives. These can be run
3651
in a much smaller memory footprint and consume fewer resources. If your systems do not support Java or you do not want a JDK installed, please use non-JNI builds.
3752

38-
39-
## Python based bootstrapping (recommended)
40-
Prerequisites:
41-
- [python](https://docs.python.org/)
42-
- [venv](https://docs.python.org/3/library/venv.html)
43-
- [chocolatey](https://chocolatey.org/)
44-
```dos
45-
.\bootstrap\py_bootstrap.bat
46-
```
47-
48-
This will set up a virtual environment in the bootstrap folder, and guide you through the build process.
49-
It will also create a batch file (.\bootstrap\build_environment.bat),
50-
which sets the necessary environment variables for the build, so it can be built without bootstrapping everytime.
51-
52-
53-
## Building with Visual Studio
53+
### Building with Visual Studio
5454

5555
Make sure your Visual Studio installation includes the "Visual C++ tools for CMake" and "Visual C++ ATL for x86 and x64" options.
5656
You can also add these after installation using the Visual Studio Installer app. We also advise
@@ -64,7 +64,7 @@ that you build `minifi.lib` then `minifi.exe` targets. `Build All` works, too,
6464
Once you have built these targets, you may use the `cpack` command to build your MSI. If you are building with JNI functionality the MSI will be
6565
significantly larger (about 160 MB) since it contains the base NARs to run the standard set of Apache NiFi processors.
6666

67-
## Building via the build script
67+
### Building via the build script
6868

6969
The preferred way of building the project is via the `win_build_vs.bat` script found in our root source folder. Its first parameter is mandatory, the directory in which it will build the project. `build` is a good default choice for this.
7070

@@ -124,7 +124,7 @@ You can specify additional CMake arguments by setting the EXTRA_CMAKE_ARGUMENTS
124124
> win_build_vs.bat ...
125125
```
126126

127-
## Alternative: Manual bootstrapping (advanced)
127+
### Alternative building: Manual bootstrapping (advanced)
128128

129129
The project can also be built manually using CMake. It requires the same environment the build script does (the proper Native Tools Command Prompt).
130130

0 commit comments

Comments
 (0)