Awesome
EcoCode-php
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. This SonarQube plugin then implements these catalogs as rules for scanning your PHP projects.
⚠️ This is still a very early stage project. Any feedback or contribution will be highly appreciated. Please refer to the contribution section.
🌿 SonarQube Plugins
This plugin is part of the ecoCode project.
You can find a list of all our other plugins in
the ecoCode repository
🚀 Getting Started
You can give a try with a one command docker :
docker run -ti --rm \
-p 9000:9000 \
--name sonarqube-ecocode-php ghcr.io/green-code-initiative/sonarqube-ecocode-php:latest
or (with logs and data locally stored) :
docker run -ti --rm \
-v sq_ecocode_logs:/opt/sonarqube/logs \
-v sq_ecocode_data:/opt/sonarqube/data \
-p 9000:9000 \
--name sonarqube-ecocode-php ghcr.io/green-code-initiative/sonarqube-ecocode-php:latest
... and configure local SonarQube (security config and quality profile : see configuration for more details).
To install other ecocode
plugins, you can also :
- download each plugin separatly and copy the plugin (jar file) to
$SONAR_INSTALL_DIR/extensions/plugins
and restart SonarQube. - install different ecocode plugins with Marketplace (inside admin panel of SonarQube)
Then you can use PHP test project repository to test the environment : see README.md of PHP test project
Finally, you can directly use a all-in-one docker-compose
🛒 Distribution
Ready to use binaries are available from GitHub.
🧩 Compatibility
Plugin version | SonarQube version | Java version |
---|---|---|
1.4.+ | 9.4.+ to 10.6.0 | 11 / 17 |
1.5.+ | 9.9.+ to 10.6.0 | 17 |
Compatibility table of versions lower than 1.4.+ are available from the main ecoCode repository.
🤝 Contribution
check ecoCode repository
🤓 Main contributors
check ecoCode repository