Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 89c964c5 authored by Romain Hunault's avatar Romain Hunault 🚴🏻
Browse files

Merge branch '119-invite-users-to-contribute-to-easy-installer' into 'master'

Resolve "Invite users to contribute to Easy Installer"

Closes #119

See merge request e/documentation/user!100
parents 82ee27d1 0adc0650
Loading
Loading
Loading
Loading
+75 −0
Original line number Diff line number Diff line
---
layout: page
title: Contribute to the Easy Installer
permalink: easy-installer/contribute
---

## What is the Easy Installer?

The Easy Installer is a Java desktop application which helps users install /e/ on supported devices.

## Why should I contribute?

The Easy Installer currently run only on Linux and support 4 devices.

The /e/ team can't support all the work needed to support all devices. That's why we ask the community to help us on:
- porting the Easy Installer on Windows and MacOS: the java software should run without big issues, but script need to be ported
- support new devices: with its architecture based configuration files, it's easy to add new devices.

## How can I help?

1. I want to help **porting /e/ on Windows**
    - you can help us to translate scripts to Windows
    - if you have some knowledge to package Windows application (as we did on Linux with Snap)
    - once the 2 previous points will be done, you can test and try that everything runs on Windows as it runs on Linux

1. I want to help **porting /e/ on MacOS**
    - you can check that our scripts are compatible with MacOS
    - if you have some knowledge to package MacOS X applications (as we did on Linux with Snap)
    - once the 2 previous points will be done, you can test and try that everything runs on MacOS as it runs on Linux

1. I want to **add support for a new device**
    - You need to own the device
    - First step is to create configuration files for the Easy Installer
    - If necessary, create the missing scripts to be able to achieve the installation

1. I want to **give constructive feedback** about the Easy Installer
    - Kindly take our survey available [here](https://mydataismydata.limequery.net/167261?lang=en)

## How does it work?

### Config files

The Easy Installer uses config files for each devices to be able to define the install process.

Those config files are stored under *src/main/resources/yaml*.

There is 2 files for each device:
  - **\<device code\>\_fs.yml**: define the resources to download before flashing but also UI elements (instructions and images, average time of step where users just have to wait)
  - **\<device code\>.yml**: define the flash process: script's order, script's parameter, how to handle script's output, etc.

### Scripts

Each config files can call scripts to be able to perform the step. The scripts are on [the flash_script project](https://gitlab.e.foundation/e/tools/flash-scripts/-/tree/folder_per_platform) (on the folder_per_platform branch).

### Build&Test

Clone the project with

```shell
git clone https://gitlab.e.foundation/e/tools/easy-installer.git
```

To be able to build, you will need:
  - Apache Ant 1.10+. Needed to install Netbeans 11. [Installation procedure](https://computingforgeeks.com/how-to-install-latest-apache-ant-on-ubuntu-debian-and-linux-mint/)
  - OpenJFX11+: [doc](https://openjfx.io/openjfx-docs/#IDE-NetBeans)
  - Java JDK 11+
  - JFoenix 9

To build the Java app, kindly run in a terminal, from the project folder

```shell
./gradlew dist
```

The result for each platform is available in the new created zip.
+8 −2
Original line number Diff line number Diff line
@@ -27,6 +27,12 @@ permalink: easy-installer

    A new icon should be available on your Computer. Click on it to open and try our Easy Installer.

## Give us feedback
## Give us feedback & Contribute!

Please take our survey ([click here](https://mydataismydata.limequery.net/167261?lang=en)) to give us your feedback about the Easy Installer, and let us the opportunity to improve the tool. Thank you in advance!
Please take our survey ([click here](https://mydataismydata.limequery.net/167261?lang=en)) to **give us your feedback** about the Easy Installer, and let us the opportunity to improve the tool.

You want to **help us** on the Easy Installer project? Kindly have a look to [our documentation](contribute) to be able to contribute.

Please discuss about the project and find help on [our Community Forum](https://community.e.foundation/c/community/easy-installer/136).

**Thank you in advance!**