-
Notifications
You must be signed in to change notification settings - Fork 18
Tool for streamlining the development of Genode applications
License
genodelabs/goa
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
=========================================== Goa - goal, but reached a little bit sooner =========================================== Goa is a command-line-based workflow tool for the development of applications for the [https://genode.org - Genode OS Framework]. It streamlines the work of cross-developing Genode application software using a GNU/Linux-based host system for development, in particular * Importing 3rd-party source code, * Building software using commodity build systems such as CMake, * Test-running software on the host system, * Crafting runtime configurations for deployment, and * Packaging and publishing the software for the integration into Genode systems like [https://genode.org/download/sculpt - Sculpt OS]. Goa is solely geared towards application software. It does _not_ address the following topics: * Integration of complete Genode systems, * Test automation, * Continuous testing and integration (CI). Those topics are covered by the tools that come with the Genode project and are described in Chapter 5 of the Genode Foundations book: [https://genode.org/documentation/genode-foundations/23.05/development/index.html] Installation ------------ # Install the latest Genode tool chain on a GNU/Linux OS on a 64-bit x86 PC. It is recommended to use the latest long-term support (LTS) version of Ubuntu. Make sure that your installation satisfies the following requirements. * _libSDL-dev_ needed to run system scenarios directly on your host OS, * _tclsh_ and _expect_ needed by the tools, * _xmllint_ for validating configurations, # Clone the Goa repository: ! git clone https://github.com/genodelabs/goa.git The following steps refer to the directory of the clone as '<goa-dir>'. # Enable your shell to locate the 'goa' tool by either * Creating a symbolic link in one of your shell's binary-search locations (e.g., if you use a 'bin/' directory in your home directory, issue 'ln -s <goa-dir>/bin/goa ~/bin/'), or alternatively * Add '<goa-dir>/bin/>' to your 'PATH' environment variable, e.g., (replace '<goa-dir>' with the absolute path of your clone): ! export PATH=$PATH:<goa-dir>/bin # Optionally, enable bash completion by adding the following line to your '~/.bashrc' file: ! source <goa-dir>/share/bash-completion/goa Usage ----- Once installed, obtain further information about the use of Goa via the 'goa help' command. Step-by-step tutorials ---------------------- The following article series gets you started with using Goa. :Streamlining the development of Genode applications: [https://genodians.org/nfeske/2019-11-25-goa] :Sticking together a little Unix (part 1): [https://genodians.org/nfeske/2019-12-13-goa-unix-bash] :Sticking together a little Unix (part 2): [https://genodians.org/nfeske/2019-12-19-goa-unix-terminal] :Sticking together a little Unix (part 3): [https://genodians.org/nfeske/2019-12-22-goa-unix-pipes] :Publishing packages: [https://genodians.org/nfeske/2020-01-16-goa-publish]
About
Tool for streamlining the development of Genode applications
Topics
Resources
License
Stars
Watchers
Forks
Releases
No releases published