Skip to content

Gradle plugin, user guide and discussion forums for Conveyor

License

Notifications You must be signed in to change notification settings

fmasa/conveyor

 
 

Repository files navigation

Conveyor

Conveyor makes distributing desktop and command line apps as easy as shipping a web app. It's a tool not a service, it generates self-upgrading packages for Windows, macOS and Linux using each platform's native package formats without requiring you to have those operating systems.

➡️ Try installing an app that uses it

➡️ Get started!

➡️ Say hello via chat

➡️ Say hello using GitHub Discussions

This repository

This repo contains the parts of the product that are open source:

and you can find the code package config for the Eton Notes sample app in a separate repository.

Features

  • Create packages for every OS on any OS. Conveyor implements everything itself so doesn't rely on platform native tooling.
    • Build Windows applications that use the built-in Windows 10 MSIX/AppInstaller system.
      • Windows keeps them up to date in the background automatically.
      • Updates use delta downloads and data is shared between apps, even from different vendors.
      • Has everything IT departments need to easily deploy to managed networks.
    • Build Mac applications that use the popular Sparkle 2 update framework.
      • Sparkle is automatically used, without needing any code changes in your apps.
    • Build apt repositories for Debian/Ubuntu, tarballs for other distros. Integrates with systemd for servers and cron jobs.
  • Generate a static download site.
  • Brainless code signing.
    • Sign your apps with Apple/Windows certificates for a better download UX, or ignore it and get self-signed packages with a curl | bash style install.
    • You can sign/notarize apps on any OS.
    • You can backup your single root key by writing it down as words on paper.
  • Pre-made template projects.
    • CMake OpenGL to demonstrate building and packaging C native apps that use third party dependencies.
    • Jetpack Compose Desktop and JavaFX for cross-platform GUI apps.
  • Deep integration for JVM applications.
    • Uses JLink and jdeps to minimize the JDK size.
    • Import configuration from Maven and Gradle build systems.
    • Pre-canned template apps. Publish your first app in five minutes.
  • Pierce the abstraction! Cross platform tooling doesn't mean giving up platform-specific features. Over 120 different settings let you precisely configure your packages, including your:
    • Mac Info.plist files.
    • Windows XML app manifests.
    • Linux .desktop files and package install/uninstall scripts.

Helping out

If you'd like to:

  • Contribute improvements to the documentation or Gradle plugin, just open up a pull request.
  • Get help privately, email us.
  • Ask questions, or get help publicly, use GitHub discussions or the chat room.

About

Gradle plugin, user guide and discussion forums for Conveyor

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 82.2%
  • JavaScript 10.0%
  • CSS 4.8%
  • HTML 3.0%