Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
aral committed Oct 8, 2021
0 parents commit 981c854
Show file tree
Hide file tree
Showing 37 changed files with 4,354 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
build/
builddir/
.flatpak-builder/
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.0] - YYYY-MM-DD (In progress…)

### Added

- Initial release.
225 changes: 225 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

234 changes: 234 additions & 0 deletions README.md

Large diffs are not rendered by default.

17 changes: 17 additions & 0 deletions template/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# EditorConfig <https://EditorConfig.org>
# Based on https://docs.elementary.io/develop/writing-apps/code-style#editorconfig
root = true

# elementary defaults
[*]
charset = utf-8
end_of_line = lf
indent_size = tab
indent_style = space
insert_final_newline = true
max_line_length = 80
tab_width = 4

# Markup files
[{*.html,*.xml,*.xml.in,*.yml}]
tab_width = 2
37 changes: 37 additions & 0 deletions template/.github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: CI

# This workflow will run for any pull request or pushed commit
on: [push, pull_request]

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "flatpak"
flatpak:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# This job runs in a special container designed for building Flatpaks for AppCenter
container:
image: ghcr.io/elementary/flatpak-platform/runtime:6
options: --privileged

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so the job can access it
- uses: actions/checkout@v2

# Builds your flatpak manifest using the Flatpak Builder action
- uses: bilelmoussaoui/flatpak-github-actions/flatpak-builder@v3
with:
# This is the name of the Bundle file we're building and can be anything you like
bundle: {APP.NAMESPACE}.flatpak
# This uses your app's RDNN ID
manifest-path: com.github.{GITHUB.ORG}.{GITHUB.APP}.yml

# You can automatically run any of the tests you've created as part of this workflow
run-tests: true

# These lines specify the location of the elementary Runtime and Sdk
repository-name: appcenter
repository-url: https://flatpak.elementary.io/repo.flatpakrepo
cache-key: "flatpak-builder-${{ github.sha }}"
3 changes: 3 additions & 0 deletions template/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
build/
builddir/
.flatpak-builder/
9 changes: 9 additions & 0 deletions template/.vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"recommendations": [
"prince781.vala",
"asabil.meson",
"vadimcn.vscode-lldb",
"redhat.vscode-xml",
"redhat.vscode-yaml"
]
}
25 changes: 25 additions & 0 deletions template/.vscode/launch.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
// To launch and debug your app in VSCodium, press F5
// (or press the start debugging/play button on
// the Run and Debug view.)
//
// Note: you must install the CodeLLDB VSCodium
// ===== extension and have run the Meson: Build task
// for this to work. (To install all necessary
// extensions, including Meson and Vala, run the
// tasks/setup-vscodium task.)
//
// For more information on Launch configurations, see:
// https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "lldb",
"request": "launch",
"name": "Debug",
"program": "${workspaceFolder}/build/com.github.{GITHUB.ORG}.{GITHUB.APP}",
"args": [],
"cwd": "${workspaceFolder}"
}
]
}
11 changes: 11 additions & 0 deletions template/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.0.0] - YYYY-MM-DD (In progress…)

### Added

- Initial release.
225 changes: 225 additions & 0 deletions template/LICENSE

Large diffs are not rendered by default.

110 changes: 110 additions & 0 deletions template/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# {APP.NAME}

![{APP.NAME} icon](./data/128.svg)

{APP.DESCRIPTION}

[![Get it on AppCenter](https://appcenter.elementary.io/badge.svg)](https://appcenter.elementary.io/com.github.{GITHUB.ORG}.{GITHUB.APP}])

## System requirements

- [Elementary OS](https://elementary.io) 6 (Odin)

## Developer notes

### Getting started

Clone this repository and run the install task:

```shell
task/install
```

You can now run the app from either the _Applications Menu_ or using the run task:

```shell
task/run
```

### About

This project is written in [Vala](https://valadoc.org/) and follows the following elementary OS guidelines:

- [Human Interface Guidelines](https://docs.elementary.io/hig/)
- [Developer Guidelines](https://docs.elementary.io/develop/)
- [Coding style](https://docs.elementary.io/develop/writing-apps/code-style)

Please take some time to familiarise yourself with those documents before continuing.

To get your system ready to develop for elementary OS, please see the [Basic Setup](https://docs.elementary.io/develop/writing-apps/the-basic-setup) section of the [elementary OS Developer Documentation](https://docs.elementary.io/develop/).

### Tasks

#### Install

Configures and runs the build, installing settings-relateds features and also refreshing the icon cache.

Run this after you clone this repository to get a working build.

```shell
task/install
```

#### Build

Builds the project.

```shell
task/build
```


#### Run

Builds and runs the executable.

```shell
task/run
```

#### Pack

Creates a Flatpak distribution.

```shell
task/pack
```

### VSCodium

You do _not_ need to use [VSCodium](https://vscodium.com) to create elementary OS apps.

You can, for instance, use elementary OS [Code](https://docs.elementary.io/develop/writing-apps/the-basic-setup#code), which comes preinstalled, or a different third-party editor like [Builder](https://apps.gnome.org/en/app/org.gnome.Builder/).

However, if you do have VSCodium installed, there are a number of extensions that will make creating your elementary OS app easier:

- [Vala](https://github.com/Prince781/vala-vscode) (`codium --install-extension prince781.vala`)
- [Meson](https://github.com/asabil/vscode-meson) (`codium --install-extension asabil.meson`)
- [CodeLLDB](https://github.com/vadimcn/vscode-lldb) (`codium --install-extension vadimcn.vscode-lldb`)
- [XML](https://github.com/redhat-developer/vscode-xml) (`codium --install-extension redhat.vscode-xml`)
- [YAML](https://github.com/redhat-developer/vscode-yaml) (`codium --install-extension redhat.vscode-yaml`)

If you have the Meson and CodeLLDB extensions installed, you can run and debug the app using the Run and Debug feature (or just hit <kbd>F5</kbd>.)

## Continuous integration

[Continuous Integration](https://docs.elementary.io/develop/writing-apps/our-first-app/continuous-integration) is set up for this repository.

## Submitting the app

Please make sure you [review the AppCenter publishing requirements](https://docs.elementary.io/develop/appcenter/publishing-requirements) before [submitting the app](https://developer.elementary.io/) to the [elementary OS AppCenter](https://appcenter.elementary.io/).

## It’s elementary, my dear…

This project was initially generated by [Watson](https://github.com/small-tech/watson), a tool for quickly setting up a new elementary OS 6 app that follows platform [human interface](https://docs.elementary.io/hig/) and [development](https://docs.elementary.io/develop/) guidelines.

## Copyright and license

Copyright &copy; {COPYRIGHT.YEAR}-present {COPYRIGHT.NAME}

Licensed under [GNU GPL version 3.0](./LICENSE).
22 changes: 22 additions & 0 deletions template/com.github.ORG.APP.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
app-id: com.github.{GITHUB.ORG}.{GITHUB.APP}

runtime: io.elementary.Platform
runtime-version: '6'
sdk: io.elementary.Sdk

command: com.github.{GITHUB.ORG}.{GITHUB.APP}

finish-args:
- '--share=ipc'
- '--socket=fallback-x11'
- '--socket=wayland'

# Needed to read prefer-color-scheme with Granite.Settings
- '--system-talk-name=org.freedesktop.Accounts'

modules:
- name: {GITHUB.APP}
buildsystem: meson
sources:
- type: dir
path: .
Loading

0 comments on commit 981c854

Please sign in to comment.