Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/micro-os-plus/hello-world-qemu-template-xpack
A template to generate semihosted Hello World projects that run on QEMU
https://github.com/micro-os-plus/hello-world-qemu-template-xpack
Last synced: about 1 month ago
JSON representation
A template to generate semihosted Hello World projects that run on QEMU
- Host: GitHub
- URL: https://github.com/micro-os-plus/hello-world-qemu-template-xpack
- Owner: micro-os-plus
- License: mit
- Created: 2022-07-03T19:40:38.000Z (over 2 years ago)
- Default Branch: xpack
- Last Pushed: 2023-11-28T21:10:56.000Z (about 1 year ago)
- Last Synced: 2024-11-21T08:39:56.205Z (about 2 months ago)
- Language: Meson
- Homepage:
- Size: 542 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README-DEVELOPER.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# Developer info
This file provides some details useful during development.
## Project repository
The project is hosted on GitHub:
-
To clone it:
```sh
cd ${HOME}/Work
git clone https://github.com/micro-os-plus/hello-world-qemu-template-xpack.git \
hello-world-qemu-template-xpack.git
```To clone the development branch:
```sh
git clone --branch xpack-develop \
https://github.com/micro-os-plus/hello-world-qemu-template-xpack.git \
hello-world-qemu-template-xpack.git
```## Prerequisites
A recent [xpm](https://xpack.github.io/xpm/), which is a portable
[Node.js](https://nodejs.org/) command line application.## Basic info
The package is both an xPack (used by `xpm`) and a Node.js module (for
running tests).To be accepted as a template by `xpm init`, a project must:
- be an xPack (have a `package.json` with an `xpack` property
- have a property called `main` in `package.json`, pointing to a JavaScript
file that can be consumed by `require()`
- the main file must export a class called `XpmInitTemplate`
- an instances of this class must have a `run()` method.The template receives via the `context`:
- a `log` object
- the new project `config.name`, either given explicitly via
`--name` or inferred from the folder name
- a map of `config.properties`, given explicitly via `--property name=value`## Branches
Apart from the unused `master` branch, there are two active branches:
- `xpack`, with the latest stable version
- `xpack-develop`, with the current development versionAll development is done in the `xpack-develop` branch, and contributions via
Pull Requests should be directed to this branch.When new releases are published, the `xpack-develop` branch is merged
into `xpack`.## Testing
Normally the tests should consume the template via `xpm init`, but
this goes through the global repo in the home folder, and requires to
uninstall the xPack, to be sure that the latest version is used.To perform the tests, run the usual npm sequence:
```sh
cd hello-world-qemu-template-xpack.git
npm install
npm run test-all
```## Coverage tests
- none so far.
## Continuous Integration
All available tests are also performed on GitHub Actions, as the
[CI on Push](https://github.com/micro-os-plus/hello-world-qemu-template-xpack/actions/workflows/ci.yml)
workflow.## Standard compliance
The module uses ECMAScript 6 class definitions.
As style, it uses the [JavaScript Standard Style](https://standardjs.com/),
automatically checked at each commit via Travis CI.Known and accepted exceptions:
- none.
To manually fix compliance with the style guide (where possible):
```console
% npm run fix> @micro-os-plus/[email protected] fix
> standard --fix```
## Documentation metadata
The documentation metadata follows the [JSdoc](http://usejsdoc.org) tags.
To enforce checking at file level, add the following comments right after
the `use strict`:```js
'use strict'
/* eslint valid-jsdoc: "error" */
/* eslint max-len: [ "error", 80, { "ignoreUrls": true } ] */
```Note: be sure C style comments are used, C++ styles are not parsed by
[ESLint](http://eslint.org).