Package: aab
Anki Add-on BuilderAn opinionated build tool for Anki add-ons. Used in most of my major Anki projects.DisclaimerInstallationUsageSpecificationsLicense and CreditsDisclaimerProject StateThis is still very much a work-in-progress. Neither the API, nor the implementation are set in stone. At this point the project's main purpose lies in replacing the variety of different build scripts I am employing across all of my add-ons, making the build chain more standardized and maintainable.Platform Supportaabhas only been tested on Linux so far, but it might also work on other POSIX-compliant environments like macOS.InstallationRequirementsaabneeds to be run in an Anki development environment to work correctly. Please refer toAnki's documentationfor information on how to set this up.Installing the latest releasepip install aabInstalling from the master branchpip install --upgrade git+https://github.com/glutanimate/anki-addon-builder.gitUsageYou can get an overview of all supported actions by accessing the built-in help:$ aab -h
usage: aab [-h] [-v] [-s] {build,ui,clean} ...

positional arguments:
    {build,ui,clean}
    build           Build and package add-on for distribution
    ui              Compile add-on user interface files
    clean           Clean leftover build files

optional arguments:
    -h, --help        show this help message and exit
    -v, --verbose     Enable verbose outputEach subcommand also comes with its own help screen, e.g.:$ aab build -h
usage: aab build [-h] [-t {anki21,anki20,all}] [-d {local,ankiweb,all}]
                 [version]

positional arguments:
  version               Version to build as a git reference (e.g. 'v1.2.0' or
                        'd338f6405'). Special keywords: 'current' – latest
                        commit, 'release' – latest tag. Leave empty to build
                        latest tag.

optional arguments:
  -h, --help            show this help message and exit
  -t {anki21,anki20,all}, --target {anki21,anki20,all}
                        Anki version to build for
  -d {local,ankiweb,all}, --dist {local,ankiweb,all}
                        Distribution channel to build forExamplesBuild latest tagged add-on releaseaab build -d local -t anki21 releaseor simplyaab buildCompile Qt UI forms and resources for Anki 2.1aabui-tanki21SpecificationsProject StructureIn order foraabto work correctly, your project should generally follow the directory structure below:project root
├── src [required] (contains add-on package and Anki 2.0 entry-point)
│   ├── {module_name} [required] (add-on package)
|   └── {display_name}.py [optional] (Anki 2.0 entry-point)
└── addon.json [required] (contains add-on meta information read by aab)For a more detailed look at the entire directory tree please feel free to take a look at some of theadd-ons I've published recently.addon.jsonAll of the metadata needed byaabto work correctly is stored in anaddon.jsonfile at the root of the project tree. For more information on its fields and their specifications please refer to theschema file.License and CreditsAnki Add-on BuilderisCopyright © 2019Aristotelis P.(Glutanimate)Anki Add-on Builder is free and open-source software. Its source-code is released under the GNU AGPLv3 license, extended by a number of additional terms. For more information please see thelicense filethat accompanies this program.This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. Please see the license file for more details.