AAP Ecosystem Release Process - atsushieno/aap-core GitHub Wiki

This documentation is mostly for @atsushieno who makes the entire releases. If anyone else wants to build own plugin ecosystem with the fixed version and AudioPluginService identifiers, it might be worth reading too.

It is not intended for complete documentation (ideally it should be, but @atsushieno should not spend too much time and resource on it). Feel free to shoot questions at Discussions if you need any clarification.

Basic steps

  • confirm aap-lv2-xxx plugins, aap-juce-xxx plugins and hosts (some, if not all) build using the latest versions of aap-core, aap-lv2, and aap-juce.
  • update aap-core version in libs.versions.toml in aap-core repo.
    • Do not add the git tag yet. We may need further fixes whenever we find build issues later.
    • For 0.7.5 I renamed it from 0.7.5-pre to 0.7.5. I named 0.7.5-pre almost immediately after 0.7.4 is built. It works like -SNAPSHOT, yet we don't publish it to public Maven servers (so far).
  • update aap-lv2 version def. and aap-core version ref. in libs.versions.toml in aap-lv2 repo.
    • likewise, do not add the git tag yet.
  • for every aap-lv2-xxx port:
    • make sure to update aap-lv2, recursively
    • update aap-lv2 and aap-core version refs in libs.versions.toml
    • update .github/workflows/actions.yml to point to the latest reusable workflows (aap-lv2 rev.)
  • update aap-core version refs in aap-juce/sample-project.libs.versions.toml
  • for every aap-juce-xxx port:
    • make sure to update aap-core and aap-juce
    • update .github/workflows/actions.yml to point to the latest reusable workflows (aap-juce rev., projucer)
  • aap-juce-helio is somewhat special: it checks in generated projects, so we apply changes there by patches. The patch contains those AAP deps, so they need to be replaced and the patch needs to be regenerated.
  • hopefully confirm installation via aap-apk-installer

Updates specific to 0.7.5

aap-lv2-xxx repos

  • all aap-lv2-xxx repo now needs to build both apk and aab for valid build artifacts and release binaries. (update Makefile and actions.yml to point to the latest aap-lv2 workflow rev.)
  • introduced libs.versions.toml, so copy it from aap-lv2 if it is aap-lv2-xxx repo, and replace direct version specifications with libs.versions.xxx.yyy.zzz.
  • aap-lv2 targets:
    • aap-lv2-mda
    • aap-lv2-fluidsynth
    • aap-lv2-sfizz
    • aap-lv2-guitarix
    • aap-lv2-string-machine
    • aap-lv2-dragonfly-reverb

aap-juce-xxx repos

  • introduced libs.versions.toml, so replace direct version refs with libs.xxx.yyy... in override.XXX.jucer (for projucer apps) and app/build.gradle (for cmake apps)
  • aap-juce targets:
    • aap-juce-plugin-host
    • aap-juce-helio
    • aap-juce-obxd
    • aap-juce-dexed
    • aap-juce-adlplug
    • aap-juce-hera
    • aap-juce-odin2
    • aap-juce-vital
    • aap-juce-os251
    • aap-juce-witte-eq
    • aap-juce-chow-phaser
    • aap-juce-frequalizer
    • aap-juce-simple-reverb
    • aap-juce-byod

installation via aap-apk-installer

failed due to too large app size (some tweak needed around GitHub API for Java):

  • aap-juce-odin2
  • aap-juce-os251