Join GitHub today
GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.Sign up
Tool for streamlining the development of Genode applications
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Type||Name||Latest commit message||Commit time|
|Failed to load latest commit information.|
=========================================== 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, * Development of libraries and APIs, * 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/19.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/nfeske/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 Usage ----- Once installed, obtain further information about the use of Goa via the 'goa help' command.