From fc4ad72917f8b5e8d7d8d817ec7796ab9d88f4c4 Mon Sep 17 00:00:00 2001 From: Oleg Kopysov Date: Fri, 13 Sep 2024 08:40:36 +0300 Subject: [PATCH 1/3] docs: Move wiki info to GH Pages Signed-off-by: Oleg Kopysov --- doc/docs/dev-guide/README.md | 6 + doc/docs/dev-guide/architecture.md | 7 ++ doc/docs/dev-guide/coding-style.md | 44 +++++++ doc/docs/dev-guide/faq.md | 184 +++++++++++++++++++++++++++++ doc/docs/img/architecture.png | Bin 0 -> 92803 bytes doc/mkdocs.yml | 3 + 6 files changed, 244 insertions(+) create mode 100644 doc/docs/dev-guide/architecture.md create mode 100644 doc/docs/dev-guide/coding-style.md create mode 100644 doc/docs/dev-guide/faq.md create mode 100644 doc/docs/img/architecture.png diff --git a/doc/docs/dev-guide/README.md b/doc/docs/dev-guide/README.md index f143fa86..f7434914 100644 --- a/doc/docs/dev-guide/README.md +++ b/doc/docs/dev-guide/README.md @@ -8,14 +8,20 @@ The LPVS Developer Guide provides documentation for developers and contributors. You can jump directly to the pages listed below, or use the *next* and *previous* buttons in the navigation bar at the top of the page to move through the documentation in order. +- [Architecture] - [Contributing guide] +- [Coding style] - [Testing policy] - [Code review requirements] - [API reference] - [Integration guide] +- [FAQ] +[Architecture]: architecture.md [Contributing guide]: contributing.md +[Coding style]: coding-style.md [Testing policy]: testing-policy.md [Code review requirements]: code-review-requirements.md [API reference]: api.md [Integration guide]: integration.md +[FAQ]: faq.md diff --git a/doc/docs/dev-guide/architecture.md b/doc/docs/dev-guide/architecture.md new file mode 100644 index 00000000..74c29dd1 --- /dev/null +++ b/doc/docs/dev-guide/architecture.md @@ -0,0 +1,7 @@ +# Architecture + +How LPVS interacts with other entities. + +--- + +![Architecture](../img/architecture.png) diff --git a/doc/docs/dev-guide/coding-style.md b/doc/docs/dev-guide/coding-style.md new file mode 100644 index 00000000..2e038da4 --- /dev/null +++ b/doc/docs/dev-guide/coding-style.md @@ -0,0 +1,44 @@ +# Coding style + +Explanation of the used coding style. + +--- + +The LPVS project uses the [Google Java Style](https://google.github.io/styleguide/javaguide.html). + +Each Pull Request is checked for compliance with the coding style. If a conflict occurs, a recommendation can be found in the [Check Java Format action](https://github.com/Samsung/LPVS/actions/workflows/java-format-checker.yml). + +Example: + +```bash +diff --git a/src/main/java/com/lpvs/service/LPVSDetectService.java b/src/main/java/com/lpvs/service/LPVSDetectService.java +index 360e21a..880dd2a 100644 +--- a/src/main/java/com/lpvs/service/LPVSDetectService.java ++++ b/src/main/java/com/lpvs/service/LPVSDetectService.java +@@ -84,7 +84,9 @@ public class LPVSDetectService { + this.getInternalQueueByPullRequest(HtmlUtils.htmlEscape(trigger)); + + List scanResult = +- this.runScan(webhookConfig, LPVSDetectService.getPathByPullRequest(webhookConfig)); ++ this.runScan( ++ webhookConfig, ++ LPVSDetectService.getPathByPullRequest(webhookConfig)); + + List> detectedConflicts = + licenseService.findConflicts(webhookConfig, scanResult); +Error: Process completed with exit code 1. +``` + +When preparing a Pull Request, you can run a command that will check and correct the coding style. + +```bash +java -jar google-java-format-1.23.0-all-deps.jar --aosp --skip-javadoc-formatting --skip-reflowing-long-strings --skip-sorting-imports --replace -i $(git ls-files|grep \.java$) +``` + +!!! note + + Download `google-java-format-1.23.0-all-deps.jar` [here](https://github.com/google/google-java-format/releases/download/v1.23.0/google-java-format-1.23.0-all-deps.jar). + +!!! info + + `google-java-format` official repository [link](https://github.com/google/google-java-format). diff --git a/doc/docs/dev-guide/faq.md b/doc/docs/dev-guide/faq.md new file mode 100644 index 00000000..cf77967e --- /dev/null +++ b/doc/docs/dev-guide/faq.md @@ -0,0 +1,184 @@ +# FAQ + +Frequently asked questions and useful information. + +--- + +## Useful utilities + +### Swagger + +* [Swagger](https://swagger.io/) +* [Swagger Editor](https://editor.swagger.io/) + +### PlantUML + +* [PlantUML Language Reference Guide](http://plantuml.com/guide) +* [PlantText - Online Editor](https://www.planttext.com/) + +--- + +## How to sign a release using GPG? + +A good example of a release signature can be found on the [link](https://wiki.debian.org/Creating%20signed%20GitHub%20releases). However, 5 and 6 items are described separately. + +### Creating a key pair + +```bash +gpg --full-generate-key +``` + +During the execution of this command, you will need to enter additional data: + +* Please select what kind of key you want: **1** +* What keysize do you want? (3072): **4096** +* Please specify how long the key should be valid: **0** +* Key is valid for? (0): **0** +* Is this correct? (y/N): **y** +* Real name: **LPVS** +* Email address: **o.kopysov@samsung.com** +* Comment: **Keys for LPVS** + +In this case, the result will be the next + +```bash +gpg (GnuPG) 2.2.4; Copyright (C) 2017 Free Software Foundation, Inc. +This is free software: you are free to change and redistribute it. +There is NO WARRANTY, to the extent permitted by law. + +Please select what kind of key you want: + (1) RSA and RSA (default) + (2) DSA and Elgamal + (3) DSA (sign only) + (4) RSA (sign only) +Your selection? 1 +RSA keys may be between 1024 and 4096 bits long. +What keysize do you want? (3072) 4096 +Requested keysize is 4096 bits +Please specify how long the key should be valid. + 0 = key does not expire + = key expires in n days + w = key expires in n weeks + m = key expires in n months + y = key expires in n years +Key is valid for? (0) 0 +Key does not expire at all +Is this correct? (y/N) y + +GnuPG needs to construct a user ID to identify your key. + +Real name: LPVS +Email address: o.kopysov@samsung.com +Comment: Keys for LPVS +You selected this USER-ID: + "LPVS (Keys for LPVS) " + +Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O +We need to generate a lot of random bytes. It is a good idea to perform +some other action (type on the keyboard, move the mouse, utilize the +disks) during the prime generation; this gives the random number +generator a better chance to gain enough entropy. +We need to generate a lot of random bytes. It is a good idea to perform +some other action (type on the keyboard, move the mouse, utilize the +disks) during the prime generation; this gives the random number +generator a better chance to gain enough entropy. +gpg: key BE13B1D440E813F0 marked as ultimately trusted +gpg: revocation certificate stored as '/home/virtual-pc/.gnupg/openpgp-revocs.d/D3C7C06AC34BDA9A41388E76BE13B1D440E813F0.rev' +public and secret key created and signed. + +pub rsa4096 2021-10-15 [SC] + D3C7C06AC34BDA9A41388E76BE13B1D440E813F0 +uid LPVS (Keys for LPVS) +sub rsa4096 2021-10-15 [E] +``` + +### Create and sign a tag with your created key + +Set your GPG signing key in Git + +```bash +git config --global user.signingkey +``` + +Create and sign the tag + +```bash +git tag -s +``` + +### Sign the release tarball with your created key + +```bash +gpg --armor --detach-sign lpvs-vx.x.x.tar.gz +``` + +!!! note + + If you have multiple keys, you must specify the key that will be used by adding the option `-u ` + +### Extraction a copy of a key pair from local gpg keyring + +```bash +gpg --output lpvs-public.pgp --armor --export o.kopysov@samsung.com +gpg --output lpvs-private.pgp --armor --export-secret-key o.kopysov@samsung.com +``` + +!!! note + + Only the signature file (`lpvs-vx.x.x.tar.gz.asc`) and the public key (`lpvs-public.pgp`) must be loaded as an artifact to release. + +### To sign the release using another computer + +For this need to download the private key (`lpvs-private.pgp`) by the next command: + +```bash +gpg --import lpvs-private.pgp +``` + +--- + +## How to use GPG to verify signed release? + +To perform the verification, you need the following: +* signed file – for example `lpvs-vx.x.x.tar.gz` +* signature file – accompanying file with “.asc” extension (Ex. `lpvs-vx.x.x.tar.gz.asc`) +* public key – for example `lpvs-public.pgp` + +### Import the public key to your keystore + +```bash +gpg --import +``` + +### Verification signed file + +```bash +gpg --verify +``` + +!!! note + + If you have multiple keys, you must specify the key that will be used by adding the option `-u ` + +--- + +## DCO via the command line + +The most popular way to do DCO is to sign off your username and email address in the git command line. + +First, configure your local git install. + +```bash +$ git config --global user.name "John Doe" +$ git config --global user.email johndoe@example.com +``` + +Obviously, you should use your own name and the email address associated with your GitHub user account. + +Now, every time you commit new code in git, just add a signoff statement via the `-s` flag. + +```bash +$ git commit -s -m "This is my commit message" +``` + +That’s it. Git adds your sign-off message in the commit message, and you contribution (commit) is now DCO compliant. diff --git a/doc/docs/img/architecture.png b/doc/docs/img/architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..d66fec04258504d9e1deb01bcbb72536957400eb GIT binary patch literal 92803 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 literal 0 HcmV?d00001 diff --git a/doc/mkdocs.yml b/doc/mkdocs.yml index b7dd91bc..5bdd5c6d 100644 --- a/doc/mkdocs.yml +++ b/doc/mkdocs.yml @@ -48,11 +48,14 @@ nav: - Database customization: user-guide/config/database.md - Developer Guide: - Developer guide: dev-guide/README.md + - Architecture: dev-guide/architecture.md - Contributing guide: dev-guide/contributing.md + - Coding style: dev-guide/coding-style.md - Testing policy: dev-guide/testing-policy.md - Code review requirements: dev-guide/code-review-requirements.md - API reference: dev-guide/api.md - Integration guide: dev-guide/integration.md + - FAQ: dev-guide/faq.md - About: - License: about/license.md - Releases: about/releases.md From ac8e645ab456c01f82b4bfac67973f000be3797c Mon Sep 17 00:00:00 2001 From: Oleg Kopysov Date: Fri, 13 Sep 2024 10:54:00 +0300 Subject: [PATCH 2/3] fix: Change email Signed-off-by: Oleg Kopysov --- doc/docs/dev-guide/faq.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/docs/dev-guide/faq.md b/doc/docs/dev-guide/faq.md index cf77967e..a52d68b6 100644 --- a/doc/docs/dev-guide/faq.md +++ b/doc/docs/dev-guide/faq.md @@ -36,7 +36,7 @@ During the execution of this command, you will need to enter additional data: * Key is valid for? (0): **0** * Is this correct? (y/N): **y** * Real name: **LPVS** -* Email address: **o.kopysov@samsung.com** +* Email address: **john.doe@samsung.com** * Comment: **Keys for LPVS** In this case, the result will be the next @@ -68,10 +68,10 @@ Is this correct? (y/N) y GnuPG needs to construct a user ID to identify your key. Real name: LPVS -Email address: o.kopysov@samsung.com +Email address: john.doe@samsung.com Comment: Keys for LPVS You selected this USER-ID: - "LPVS (Keys for LPVS) " + "LPVS (Keys for LPVS) " Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O We need to generate a lot of random bytes. It is a good idea to perform @@ -88,7 +88,7 @@ public and secret key created and signed. pub rsa4096 2021-10-15 [SC] D3C7C06AC34BDA9A41388E76BE13B1D440E813F0 -uid LPVS (Keys for LPVS) +uid LPVS (Keys for LPVS) sub rsa4096 2021-10-15 [E] ``` @@ -119,8 +119,8 @@ gpg --armor --detach-sign lpvs-vx.x.x.tar.gz ### Extraction a copy of a key pair from local gpg keyring ```bash -gpg --output lpvs-public.pgp --armor --export o.kopysov@samsung.com -gpg --output lpvs-private.pgp --armor --export-secret-key o.kopysov@samsung.com +gpg --output lpvs-public.pgp --armor --export john.doe@samsung.com +gpg --output lpvs-private.pgp --armor --export-secret-key john.doe@samsung.com ``` !!! note From 1a7978c24dc3f9ccfb0d799d5462c61a806d60ba Mon Sep 17 00:00:00 2001 From: Oleg Kopysov Date: Fri, 13 Sep 2024 11:15:37 +0300 Subject: [PATCH 3/3] fix: Change domain in emails Signed-off-by: Oleg Kopysov --- doc/docs/dev-guide/faq.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/docs/dev-guide/faq.md b/doc/docs/dev-guide/faq.md index a52d68b6..f3acf6b5 100644 --- a/doc/docs/dev-guide/faq.md +++ b/doc/docs/dev-guide/faq.md @@ -36,7 +36,7 @@ During the execution of this command, you will need to enter additional data: * Key is valid for? (0): **0** * Is this correct? (y/N): **y** * Real name: **LPVS** -* Email address: **john.doe@samsung.com** +* Email address: **john.doe@example.com** * Comment: **Keys for LPVS** In this case, the result will be the next @@ -68,10 +68,10 @@ Is this correct? (y/N) y GnuPG needs to construct a user ID to identify your key. Real name: LPVS -Email address: john.doe@samsung.com +Email address: john.doe@example.com Comment: Keys for LPVS You selected this USER-ID: - "LPVS (Keys for LPVS) " + "LPVS (Keys for LPVS) " Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O We need to generate a lot of random bytes. It is a good idea to perform @@ -88,7 +88,7 @@ public and secret key created and signed. pub rsa4096 2021-10-15 [SC] D3C7C06AC34BDA9A41388E76BE13B1D440E813F0 -uid LPVS (Keys for LPVS) +uid LPVS (Keys for LPVS) sub rsa4096 2021-10-15 [E] ``` @@ -119,8 +119,8 @@ gpg --armor --detach-sign lpvs-vx.x.x.tar.gz ### Extraction a copy of a key pair from local gpg keyring ```bash -gpg --output lpvs-public.pgp --armor --export john.doe@samsung.com -gpg --output lpvs-private.pgp --armor --export-secret-key john.doe@samsung.com +gpg --output lpvs-public.pgp --armor --export john.doe@example.com +gpg --output lpvs-private.pgp --armor --export-secret-key john.doe@example.com ``` !!! note