.. _build-package-example:

===============
Build a Package
===============

This guide will take you through the fundamentals of packaging a service for EmbassyOS by creating a real service. Let's get started!

.. raw:: html

  <div class="topics-grid grid-container full">

  <div class="grid-x grid-margin-x">

.. topic-box::
  :title: Step 1
  :link: 01_setup
  :class: large-4
  :anchor: View

  Context and environment setup

.. topic-box::
  :title: Step 2
  :link: 02_create-service
  :class: large-4
  :anchor: View

  Create a service

.. topic-box::
  :title: Step 3
  :link: 03_hardware-compile
  :class: large-4
  :anchor: View

  Compile for Embassy hardware

.. topic-box::
  :title: Step 4
  :link: 04_docker-build
  :class: large-4
  :anchor: View

  Build service with Docker

.. topic-box::
  :title: Step 5
  :link: 05_create-manifest
  :class: large-4
  :anchor: View

  Create Manifest file

.. topic-box::
  :title: Step 6
  :link: 06_create-assets
  :class: large-4
  :anchor: View

  Create package assets

.. topic-box::
  :title: Step 7
  :link: 07_create-s9pk
  :class: large-4
  :anchor: View

  Package service components together

.. topic-box::
  :title: Step 8
  :link: 08_create-makefile
  :class: large-4
  :anchor: View

  Create Makefile with build steps (optional)

.. topic-box::
  :title: Step 9
  :link: 09_create-wrapper
  :class: large-4
  :anchor: View

  Create wrapper repository to host code for review

.. topic-box::
  :title: Step 10
  :link: 10_install-package
  :class: large-4
  :anchor: View

  Install packaged service on EmbassyOS

.. topic-box::
  :title: Resources
  :link: resources
  :class: large-4
  :anchor: View

  Get help, learn how to submit your package to a marketplace, and example references

.. raw:: html

  </div></div>

.. This is for the side navigation display
.. toctree::
  :maxdepth: 1
  :hidden:

  01_setup
  02_create-service
  03_hardware-compile
  04_docker-build
  05_create-manifest
  06_create-assets
  07_create-s9pk
  08_create-makefile
  09_create-wrapper
  10_install-package
  resources
