Skip to content

Commit

Permalink
updated readme with further build instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
Kamik423 committed Aug 29, 2023
1 parent c9f2b38 commit 5249606
Showing 1 changed file with 22 additions and 20 deletions.
42 changes: 22 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
pagina EPUB-Checker
# pagina EPUB-Checker
===================

![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/paginagmbh/EPUB-Checker/maven-test-build.yml?label=Maven%20CI%20Tests) ![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/paginagmbh/EPUB-Checker/release.yml?label=Release%20CI)
Expand All @@ -7,9 +7,7 @@ Standalone “EPUBCheck” application for Windows, macOS and Linux.

With the pagina EPUB-Checker one can easily validate eBooks in the EPUB format. The test mechanisms of the EPUB-Checker are based on the official open-source [EPUBCheck](https://github.com/w3c/epubcheck) EPUB validator.


Features
--------
## Features

pagina EPUB-Checker wraps up this tool and offers some additional features like:

Expand All @@ -35,17 +33,13 @@ pagina EPUB-Checker wraps up this tool and offers some additional features like:

pagina EPUB-Checker doesn't need to be installed and therefore works on portable USB devices as well as on computers with restricted rights.


Download
--------
## Download

Please visit our website https://www.pagina.gmbh/produkte/epub-checker/ to download the Windows *.exe* file, the Mac *.app* or the Linux *.jar*.

This is just the source code repository. You won’t find any pre-build binaries here...
Alternatively you can download the executables from the [releases page](https://github.com/paginagmbh/EPUB-Checker/releases).


License information
-------------------
## License information

Our app and code and all the java sources in `de.paginagmbh.*` are licensed under the terms of the [GNU General Public License v2.0](http://choosealicense.com/licenses/gpl-2.0/) unless the code comments specify the contrary.

Expand All @@ -62,10 +56,9 @@ To build the EPUB-Checker app, we use the following tools and libraries (among o
* [gon](https://github.com/mitchellh/gon) (*MIT License*)


Build the app
-------------
## Build the app

In order to build the Linux JAR, the Mac App and the Windows EXE files you just have to run
In order to build the Linux *.jar*, the Mac *.app* and the Windows *.exe* files you just have to run

```sh
mvn clean package
Expand All @@ -82,8 +75,7 @@ This will build the executables but skip the macOS specific codesigning process
* Maven 3.5+


Release the app
---------------
### Release the app

Releasing a new version requires the Mac App to be codesigned and notarized. This can be done from the maven packaging process or via GitHub Actions CI on the `main` branch. The additional maven step will run a bash script (`src/build/mac-release.sh`) to codesign and notarize the Mac App with our private Apple Developer Certificate. Therefore, this step will only work on our systems or in GitHub Actions CI.

Expand All @@ -97,17 +89,17 @@ Before the release the version number and release notes should be adjusted in *s
* NodeJS + npm
* Homebrew

*App codesigning*
#### App codesigning

Codesigning is done with the default macOS `codesign` utility

*App notarization*
#### App notarization

App notarization is done with [gon](https://github.com/mitchellh/gon), an excellent utility for this job. It will be installed via HomeBrew if it’s missing.

To be able to submit the App for notarization, you need to copy `src/build/gon-dmg-config.template.json` to `src/build/gon-dmg-config.json` and fill the `apple_id` credentials.

*DiskImage creation*
#### DiskImage creation

DiskImage creation is done with the NodeJS utility [electron-installer-dmg](https://github.com/electron-userland/electron-installer-dmg). It will be installed via NPM if it’s missing.

Expand All @@ -121,8 +113,18 @@ mvn -Dmaven.skip.macSigning=false clean package

With changes to how the generated *.jar* file is structured internally, and how Apple handles the files for the notarization, at the moment some manual steps are required to arrive at a notarized version of the application.

### Build & release with GitHub Actions
### Build and release with GitHub Actions

To build and release with GitHub Actions CI, just merge a _snapshot version_ from `development` to `main`. No need to upgrade the Maven version first or to set a git tag. Just merge to `main` and CI is doing all the hard work (as defined in `.github/workflows/release.yml`).

The release distributables are attached to the GitHub Actions build as build artifacts and can be used for distribution on our download server.

### pagina internal steps for distribution

* Update the [pagina website](https://github.com/paginagmbh/EPUB-Checker/releases).
* Update the [website checked by the update checker](https://download.pagina.gmbh/epubchecker/updatecheck.php) on *helios* as well as the version number in *download.php*.
* Create a release on the [releases page](https://github.com/paginagmbh/EPUB-Checker/releases).

## License

This project is licensed under the [GPL-2.0 license](LICENSE.txt).

0 comments on commit 5249606

Please sign in to comment.