BrettMayson / HEMTT

Build System for Arma 3
http://hemtt.dev/
GNU General Public License v2.0
113 stars 40 forks source link

Custom build steps #15

Closed jonpas closed 5 years ago

jonpas commented 5 years ago

No idea yet how to tackle this. Useful and required for:

BrettMayson commented 5 years ago

What do you think about changing #9 to be a utility? We could implement build steps as run [utility] or external programs during either prebuild or postbuild. Using zip as part of the build process will force people wanting to include extensions to use --no-zip, add their extensions, then zip manually. We could do something like

{
  ...
  "prebuild": [
    "minify-sqf",
  ],
  "postbuild": [
    "cmake CMakeLists.txt",
    "make",
    "@zip"
  ]
}

I think using @ to indicate a HEMTT utility should be fine. This will allow a high level of customisation, while still providing a low barrier of entry if we have a few common examples in the documentation. It will also keep the number of build flags down, as adding a handful of utilities is cleaner than a handful of build flags.

Another advantage is not having to use a large hemtt build command with a bunch of flags, but instead just using hemtt build. This will make it easier for people just getting into contributing to ACE, CBA, etc since they won't need to know what build flags to use.

jonpas commented 5 years ago

I like this a lot!