From 488262ce4be85faeee6cc19ecc270eea3466d6b7 Mon Sep 17 00:00:00 2001 From: Gilles Grousset Date: Mon, 29 Apr 2024 12:35:35 +0200 Subject: [PATCH 1/3] doc: updated doc to mention rules profile configuration --- README.md | 6 +++++- docs/resources/profiles.png | Bin 0 -> 36067 bytes 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 docs/resources/profiles.png diff --git a/README.md b/README.md index c79acb3..20e2f80 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,11 @@ ecoCode iOS SonarQube plugin is an "eco-responsibility" static code analyzer for Ready to use binaries are available [from GitHub](https://github.com/green-code-initiative/ecoCode-ios/releases). -NB: To work, `ecocode-ios` needs `Swift` language support in SonarQube. For *SonarQube Community Edition* (which does not support Swift language), you need to install an additional plugin like [sonar-apple](https://github.com/insideapp-oss/sonar-apple). +> NB: To work, `ecocode-ios` needs `Swift` language support in SonarQube. For *SonarQube Community Edition* (which does not support Swift language), you need to install an additional plugin like [sonar-apple](https://github.com/insideapp-oss/sonar-apple). + +By default ecoCode profiles is not activated. To activate ecoCode rules in SonarQube, create a new profile (or extend and existing one) where ecoCode rules are activated. Here is an example: + +![Profiles](docs/resources/profiles.png) 🚀 Development Quickstart ------------- diff --git a/docs/resources/profiles.png b/docs/resources/profiles.png new file mode 100644 index 0000000000000000000000000000000000000000..5ff7d2cdea608b72eef8be77f4fcf4eb81e84b75 GIT binary patch literal 36067 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 literal 0 HcmV?d00001 From 8f6e9524bebe25f6d262d4d150367936d34b3a29 Mon Sep 17 00:00:00 2001 From: Gilles Grousset Date: Mon, 29 Apr 2024 12:38:40 +0200 Subject: [PATCH 2/3] doc: removed typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 20e2f80..012f5f5 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Ready to use binaries are available [from GitHub](https://github.com/green-code- > NB: To work, `ecocode-ios` needs `Swift` language support in SonarQube. For *SonarQube Community Edition* (which does not support Swift language), you need to install an additional plugin like [sonar-apple](https://github.com/insideapp-oss/sonar-apple). -By default ecoCode profiles is not activated. To activate ecoCode rules in SonarQube, create a new profile (or extend and existing one) where ecoCode rules are activated. Here is an example: +By default ecoCode profile is not activated. To activate ecoCode rules in SonarQube, create a new profile (or extend and existing one) where ecoCode rules are activated. Here is an example: ![Profiles](docs/resources/profiles.png) From 55b341c6f410d3ecda9c7c51cab53be346497f58 Mon Sep 17 00:00:00 2001 From: Gilles Grousset Date: Mon, 27 May 2024 09:29:38 +0200 Subject: [PATCH 3/3] Update README.md Co-authored-by: Maxime Malgorn <9255967+utarwyn@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 012f5f5..d23163c 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ Ready to use binaries are available [from GitHub](https://github.com/green-code- > NB: To work, `ecocode-ios` needs `Swift` language support in SonarQube. For *SonarQube Community Edition* (which does not support Swift language), you need to install an additional plugin like [sonar-apple](https://github.com/insideapp-oss/sonar-apple). -By default ecoCode profile is not activated. To activate ecoCode rules in SonarQube, create a new profile (or extend and existing one) where ecoCode rules are activated. Here is an example: +By default ecoCode profile is not activated. To activate ecoCode rules in SonarQube, create a new profile (or extend an existing one) where ecoCode rules are activated. Here is an example: ![Profiles](docs/resources/profiles.png)