Aurora Build

Kotlin Multiplatform artifact build and run plugin for Aurora OS.

Features

  • Init sysroot
  • Build RPM package
  • Sign RPM package

Configuration

auroraBuild {
    // Targets configuration - mapping of KMP and Aurora OS targets
    targets {
        // aarch64 target for KMP, default: "linuxArm64"
        arm64.set("linuxArm64")
        // x86_64 target for KMP, default: "linuxX64"
        x64.set("linuxX64")
    }

    // SDK configuration for Aurora IDE/BT
    sdk {
        // Path to Aurora SDK, default: ~/AuroraOS
        path.set(File(System.getProperty("user.home")).resolve("AuroraOS").toPath())
        // Docker image name:tag, default search: *aurora-build-tools*
        image.set("aurora-build-tools-keygenqt:5.2.0.180")
    }

    // RPM package configuration
    rpm {
        // Application ID, default: "ru.auroraos.demo"
        id.set("ru.auroraos.demo.cmp")
        // Application name, default: "Demo executable"
        name.set("Demo CMP")
        // Application description, default: "Demo application KMP."
        description.set("Demo application Compose Multiplatform.")
        // Package version, default: "0.0.1"
        version.set("0.0.1")
        // Permissions for desktop file, default: emptyList()
        permissions.set(listOf("Internet"))
        // 3rd party dependencies, default: emptyList()
        libs3rdParty.set(listOf("maliit-glib"))
        // Path to icons (optional) - if not provided, default icons will be generated
        icons.set(projectDir.toPath().resolve("icons"))
        // Validate package after build, default: true
        validate.set(true)
        // Sign package open keys, default: true
        sign.set(true)
    }
}

Tasks

Aurora Build tasks
------------------
buildDebugPackageLinuxArm64 - Create debug rpm package aarch64 for linuxArm64.
buildDebugPackageLinuxX64 - Create debug rpm package x86_64 for linuxX64.
buildDebugPipeline - Complete debug pipeline: init → link → package.
buildReleasePackageLinuxArm64 - Create release rpm package aarch64 for linuxArm64.
buildReleasePackageLinuxX64 - Create release rpm package x86_64 for linuxX64.
buildReleasePipeline - Complete release pipeline: init → link → package.
initSysroot - Create sysroot directory and symlinks for project.