Giter Club home page Giter Club logo

goa's Introduction


                   ===========================================
                   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/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.


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]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.