A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

ecoCode

Reduce the environmental footprint of your software applications with this cutting-edge sonarQube plugin.
https://github.com/cnumr/ecoCode

Keywords

code ecology energy environment green quality sustainability

Last synced: over 1 year ago
JSON representation

Acceptance Criteria

Repository metadata

Reduce the environmental footprint of your software applications with this cutting-edge sonarQube plugin

README.md

Logo


ecoCode is a collective project aiming to reduce environmental footprint of software at the code level. The goal of the project is to provide a list of static code analyzers to highlight code structures that may have a negative ecological impact: energy and resources over-consumption, "fatware", shortening terminals' lifespan, etc.

ecoCode is based on evolving catalogs of good practices, for various technologies. A SonarQube plugin then implement these catalogs as rules for scanning your projects.

Warning: this is still a very early stage project. Any feedback or contribution will be highly appreciated. Please refer to the contribution section.

License: GPL v3

🌿 SonarQube Plugin

5 technologies are supported by the plugin right now:

Screenshot

🚀 Getting Started

You can download each plugin separatly or you can directly use a all-in-one docker-compose

🤝 Contribution

You are a technical expert, a designer, a project manager, a CSR expert, an ecodesign expert...

You want to offer the help of your company, help us to organize, communicate on the project?

You have ideas to submit to us?

We are listening to you to make the project progress collectively, and maybe with you!

WE NEED YOU !

Here the starter-pack

🤓 Main contributors

Any question ? We are here for you !


🧐 Core Team Emeriti

Here we honor some no-longer-active core team members who have made valuable contributions in the past.


They have contributed to the success of ecoCode :

They supported the project :


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: over 1 year ago

Total Commits: 375
Total Committers: 47
Avg Commits per committer: 7.979
Development Distribution Score (DDS): 0.787

Commits in past year: 201
Committers in past year: 39
Avg Commits per committer in past year: 5.154
Development Distribution Score (DDS) in past year: 0.816

Name Email Commits
Olivier Le Goaër o****r@u****r 80
Jules Delecour 7****v 49
Tristan ROULET t****t@v****r 41
Mohamed SALHAOUI 5****S 24
LinkinFoxCo m****r@v****r 20
Geoffrey Lalloué g****e 14
David Crescence d****e@o****m 13
Nicolas DAVIET n****t@d****r 13
dedece35 d****5@g****m 10
Cyrille Chopelet c****t@c****m 10
oussamaLaribi 6****i 8
Grégoire Compagnon g****e@k****r 7
Hertout Julien j****t@s****r 5
Silicoman l****n@h****r 5
Hiba 9****t 5
Ludovic Bossé l****e@n****m 5
Alexis Hillion a****n@o****r 5
Julien Hertout j****t@n****m 5
Julien Bureau j****u@a****m 4
MP-Aubay m****d@a****m 4
jberque j****e@s****r 4
u$f u****i@g****m 3
Lsdla a****2@y****r 3
ahmedcove1 a****1@g****m 3
Antoine PRONNIER 4****G 3
France b****e@h****r 3
Vincent Cagnard v****d@d****r 3
OLLIVIER Elodie e****r@e****r 3
Antoine.Meheut 3****t 2
Nicolas Duhéron n****n@g****m 2
and 17 more...

Committer domains:


Issue and Pull Request metadata

Last synced: over 1 year ago

Total issues: 21
Total pull requests: 153
Average time to close issues: about 1 month
Average time to close pull requests: about 1 month
Total issue authors: 15
Total pull request authors: 44
Average comments per issue: 3.81
Average comments per pull request: 1.15
Merged pull request: 116
Bot issues: 0
Bot pull requests: 0

Past year issues: 0
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 0
Past year pull request authors: 0
Past year average comments per issue: 0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/cnumr/ecoCode

Top Issue Authors

  • glalloue (4)
  • dedece35 (2)
  • Silicoman (2)
  • wokier (2)
  • augustinde (1)
  • chrissike (1)
  • daarhaan (1)
  • durandx (1)
  • inguemark-spec (1)
  • KuSh (1)
  • LGnord (1)
  • MP-Aubay (1)
  • natixis-caen (1)
  • rhouma-eng (1)
  • Sophilozoff (1)

Top Pull Request Authors

  • olegoaer (15)
  • glalloue (14)
  • Troulet (12)
  • jules-delecour-dav (12)
  • NicolasDaviet (8)
  • usfalami (7)
  • cyChop (7)
  • jhertout (6)
  • dedece35 (6)
  • MP-Aubay (4)
  • oussamaLaribi (4)
  • Ella-dee (4)
  • Silicoman (3)
  • obeone (3)
  • med-S (3)

Top Issue Labels

  • bug (6)
  • rule (4)
  • enhancement (4)
  • duplicate (3)
  • plugin:android (3)
  • documentation (2)
  • plugin:web (2)
  • good first issue (2)
  • plugin:java (2)
  • refactoring (1)

Top Pull Request Labels

  • plugin:java (11)
  • plugin:android (7)
  • migrated_to_new_standrad_repo (7)
  • refactoring (6)
  • rule (6)
  • documentation (6)
  • enhancement (5)
  • check:php (5)
  • migrated_to_new_mobile_repo (4)
  • bug (3)
  • check:SQL (1)
  • plugin:ios (1)

Dependencies

src/android-plugin/pom.xml maven
  • org.sonarsource.java:sonar-java-plugin 6.3.0.21585 provided
  • org.sonarsource.sonarqube:sonar-plugin-api 8.2.0.32929 provided
  • com.fasterxml.staxmate:staxmate 2.3.1
  • com.fasterxml.woodstox:woodstox-core 5.2.1
  • com.github.spotbugs:spotbugs-annotations 4.5.3
  • com.google.code.gson:gson 2.6.2
  • com.google.guava:guava 26.0-jre
  • commons-io:commons-io 2.11.0
  • commons-lang:commons-lang 2.6
  • junit:junit 4.13.2
  • org.apache.ant:ant 1.10.11
  • org.assertj:assertj-core 3.21.0
  • org.codenarc:CodeNarc 2.2.2
  • org.gmetrics:GMetrics 1.1
  • org.jacoco:org.jacoco.core 0.8.6
  • org.slf4j:slf4j-api 1.6.2
  • org.sonarsource.analyzer-commons:sonar-analyzer-commons 1.13.0.662
  • org.sonarsource.analyzer-commons:sonar-xml-parsing 1.13.0.662
  • org.sonarsource.sonarqube:sonar-plugin-api-impl 8.2.0.32929
  • org.sonarsource.sslr-squid-bridge:sslr-squid-bridge 2.6.1
  • ch.qos.logback:logback-classic 0.9.30 test
  • org.assertj:assertj-core 3.6.1 test
  • org.mockito:mockito-core 3.12.4 test
  • org.sonarsource.analyzer-commons:sonar-analyzer-test-commons 1.13.0.662 test
  • org.sonarsource.analyzer-commons:test-sonar-xml-parsing 1.13.0.662 test
  • org.sonarsource.java:java-checks-testkit 6.3.0.21585 test
  • org.sonarsource.sslr:sslr-testing-harness 1.21 test
  • xmlunit:xmlunit 1.6 test
src/codenarc-converter/CodeNarc/build.gradle maven
  • junit:junit 4.12 compileOnly
  • org.codehaus.groovy:groovy $groovyVersion implementation
  • org.codehaus.groovy:groovy-ant $groovyVersion implementation
  • org.codehaus.groovy:groovy-json $groovyVersion implementation
  • org.codehaus.groovy:groovy-templates $groovyVersion implementation
  • org.codehaus.groovy:groovy-xml $groovyVersion implementation
  • org.gmetrics:GMetrics 1.1 implementation
  • org.slf4j:slf4j-api $slf4jVersion implementation
  • com.github.stefanbirkner:system-rules 1.16.1 testImplementation
  • commons-cli:commons-cli 1.4 testImplementation
  • junit:junit 4.12 testImplementation
  • org.slf4j:slf4j-simple $slf4jVersion testImplementation
  • org.codehaus.groovy:groovy-macro $groovyVersion testRuntime
src/codenarc-converter/CodeNarc/integration-test/build.gradle maven
  • junit:junit 4.12 testImplementation
src/codenarc-converter/pom.xml maven
  • com.google.auto.value:auto-value 1.8.2 provided
  • com.google.auto.value:auto-value-annotations 1.8.2
  • com.google.guava:guava 31.0.1-jre
  • commons-io:commons-io 2.11.0
  • commons-lang:commons-lang 2.6
  • junit:junit 4.13.2
  • org.codenarc:CodeNarc 2.2.2
  • org.commonmark:commonmark 0.18.1
  • org.commonmark:commonmark-ext-gfm-tables 0.18.1
  • org.commonmark:commonmark-ext-yaml-front-matter 0.18.0
  • org.gmetrics:GMetrics 1.1
  • org.slf4j:slf4j-simple 1.7.33
  • org.sonarsource.sonarqube:sonar-plugin-api 8.0
  • com.googlecode.java-diff-utils:diffutils 1.3.0 test
src/java-plugin/pom.xml maven
  • org.apache.commons:commons-lang3 3.11
  • org.assertj:assertj-core
  • org.junit.jupiter:junit-jupiter
  • org.junit.jupiter:junit-jupiter-migrationsupport
  • org.sonarsource.analyzer-commons:sonar-analyzer-commons
  • org.sonarsource.java:java-checks-testkit
  • org.sonarsource.java:sonar-java-plugin
  • org.sonarsource.sonarqube:sonar-plugin-api
src/php-plugin/pom.xml maven
  • junit:junit
  • org.sonarsource.php:sonar-php-plugin
  • org.sonarsource.sonarqube:sonar-plugin-api
src/pom.xml maven
  • org.sonarsource.sonarqube:sonar-plugin-api compile
  • org.sonarsource.java:sonar-java-plugin 6.14.0.25463 provided
  • org.sonarsource.php:sonar-php-plugin 2.13.0.3107 provided
  • org.sonarsource.python:sonar-python-plugin 3.4.0.7980 provided
  • org.sonarsource.sonarqube:sonar-plugin-api 8.7.1.42226 provided
  • junit:junit 4.12
  • org.sonarsource.analyzer-commons:sonar-analyzer-commons 1.8.0.295
  • org.assertj:assertj-core 3.17.2 test
  • org.junit.jupiter:junit-jupiter 5.7.0 test
  • org.junit.jupiter:junit-jupiter-migrationsupport 5.7.0 test
  • org.sonarsource.java:java-checks-testkit 6.14.0.25463 test
  • org.sonarsource.python:python-checks-testkit 3.4.0.7980 test
  • org.sonarsource.sonarqube:sonar-plugin-api-impl 8.7.0.41497 test
src/python-plugin/pom.xml maven
  • junit:junit
  • org.sonarsource.analyzer-commons:sonar-analyzer-commons
  • org.sonarsource.python:python-checks-testkit
  • org.sonarsource.python:sonar-python-plugin
  • org.sonarsource.sonarqube:sonar-plugin-api
  • org.sonarsource.sonarqube:sonar-plugin-api-impl
src/xml-plugin/pom.xml maven
  • junit:junit
  • org.sonarsource.analyzer-commons:sonar-xml-parsing 1.25.0.1003
  • org.sonarsource.sonarqube:sonar-plugin-api
  • org.sonarsource.xml:sonar-xml-plugin 2.5.0.3376
  • org.sonarsource.analyzer-commons:test-sonar-xml-parsing 1.25.0.1003 test
src/xml-plugin/src/test/resources/checks/UseUnoptimizedVectorImage/pom.xml maven
  • org.projectlombok:lombok provided
  • com.google.code.gson:gson 2.8.9
  • com.lowagie:itext 2.1.7
  • net.sourceforge.dynamicreports:dynamicreports-core 6.12.1
  • org.apache.poi:poi-ooxml 5.1.0
  • org.bouncycastle:bcprov-jdk14 1.69
  • org.json:json 20210307
  • org.mapstruct:mapstruct 1.4.2.Final
  • org.springframework.boot:spring-boot-starter-actuator
  • org.springframework.boot:spring-boot-starter-mail 2.4.3
  • org.springframework.boot:spring-boot-starter-security
  • org.springframework.boot:spring-boot-starter-thymeleaf
  • org.springframework.boot:spring-boot-starter-web
  • org.thymeleaf.extras:thymeleaf-extras-springsecurity5
  • org.webjars:bootstrap 4.2.1
  • org.springframework.boot:spring-boot-starter-test test
.github/workflows/build.yml actions
  • actions/cache v1 composite
  • actions/checkout v2 composite
  • actions/setup-java v1 composite
  • gradle/gradle-build-action v2 composite
src/android-plugin/Dockerfile docker
  • registry.snapp.fr/snapp/ecocode/sonar-ecocode/feature-new-ui latest build
src/android-plugin/docker-compose.yml docker
  • sonarqube 8.6-community
src/codenarc-converter/CodeNarc/docker/Dockerfile docker
  • openjdk 8-jre-slim build
src/docker-compose.yml docker
  • postgres 12
  • sonarqube 9.3-community
src/ecolinter-plugin/pom.xml maven
  • org.sonarsource.analyzer-commons:sonar-analyzer-commons
  • org.sonarsource.sonarqube:sonar-plugin-api
  • org.assertj:assertj-core test
  • org.junit.jupiter:junit-jupiter test
  • org.sonarsource.sonarqube:sonar-plugin-api-impl test

Score: 8.193953023563743