{"id":13646785,"url":"https://github.com/intuit/maven-build-scanner","last_synced_at":"2025-06-21T23:40:07.572Z","repository":{"id":40303689,"uuid":"168082607","full_name":"intuit/maven-build-scanner","owner":"intuit","description":" Know your build - so you can make it faster","archived":false,"fork":false,"pushed_at":"2025-06-16T09:07:47.000Z","size":1078,"stargazers_count":154,"open_issues_count":0,"forks_count":25,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-06-16T10:25:11.558Z","etag":null,"topics":["maven","maven-extension"],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/intuit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-01-29T03:29:04.000Z","updated_at":"2025-06-16T09:07:49.000Z","dependencies_parsed_at":"2023-10-05T11:01:52.393Z","dependency_job_id":"989d13fc-81ff-485a-941e-25d829c7c282","html_url":"https://github.com/intuit/maven-build-scanner","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/intuit/maven-build-scanner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intuit%2Fmaven-build-scanner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intuit%2Fmaven-build-scanner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intuit%2Fmaven-build-scanner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intuit%2Fmaven-build-scanner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/intuit","download_url":"https://codeload.github.com/intuit/maven-build-scanner/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/intuit%2Fmaven-build-scanner/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261211973,"owners_count":23125548,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["maven","maven-extension"],"created_at":"2024-08-02T01:03:05.958Z","updated_at":"2025-06-21T23:40:02.550Z","avatar_url":"https://github.com/intuit.png","language":"Java","funding_links":[],"categories":["Java"],"sub_categories":[],"readme":"# Maven Build Scanner\n\n*Know your build - so you can make it faster*\n\n## What Is Maven Build Scanner?\n\nMaven Build Scanner is a tool that hooks into Maven builds and produces reports and charts that breakdown the time Maven\nspends doing different tasks. These reports provide insights into your builds that can be used to tune it.\n\nIt's been designed to work with large and complex builds; ones with hundreds of modules and plugins.\n\nAt Intuit it helped take a 40m build run by hundreds of developers every day and reduce it to 4m - a 10x reduction.\n[Read a blog post on the techniques that saved all this time](https://medium.com/@alex_collins/10x-faster-maven-builds-at-intuit-5b7bb60c65e6).\n\n\u003e (30m of engineering time) * (several hundred engineers) * (every working day for 5 years) * (some dollar amount) = (a\n\u003e LOT of money saved)\n\n### Screenshot\n\n![Screenshot](screenshot.png)\n\n### Video\n\n[![Video](video.png)](https://www.youtube.com/watch?v=2tB63Wer-4E)\n\n## How Do I Use It?\n\nUsing the build scanner requires three steps: \n\n1. Integrating the build scanner as a [maven extension](https://maven.apache.org/guides/mini/guide-using-extensions.html)\n2. Running your build\n3. Running the server to browse the statistics\n\n### Alternative 1: Install directly\n\nInstall the following:\n\n* Java\n* Maven\n\n```bash\n# Install the Maven extension:\noutput=\"$(mvn help:evaluate -Dexpression=maven.home -DforceStdout -q)/lib/ext/maven-build-scanner-jar-with-dependencies.jar\"\ncurl -L https://github.com/intuit/maven-build-scanner/releases/download/v2.0.0/maven-build-scanner-jar-with-dependencies.jar -o $output\n\n```\n\n```bash\n# Create your first scan:\nmvn install\n```\n\n```bash\n# Start the server to view your results:\noutput=\"$(mvn help:evaluate -Dexpression=maven.home -DforceStdout -q)/lib/ext/maven-build-scanner-jar-with-dependencies.jar\"\njava -jar $output\n```\n\nThis will print out a URL to the report. The report will show:\n\n* A timeline of the build, so you can see how effective concurrency is being used.\n* A pie chart showing the Maven plugins that took the longest.\n* A module-by-module breakdown of tasks.\n* Links to reports on previous builds.\n\n#### Uninstall\n\n```bash\noutput=\"$(mvn help:evaluate -Dexpression=maven.home -DforceStdout -q)/lib/ext/maven-build-scanner-jar-with-dependencies.jar\"\nrm -f $output\n```\n\n### Alternative 2: Install using Extension mechanism and docker\n\nInstall the following:\n\n* Java\n* Maven\n* Docker\n\nClone the github repository and run\n```bash\nmvn install\n```\n\nto build the project and install into your local ```.m2``` diretory.\n\nCreate a file ```.mvn/extensions.xml``` in the project you want to analyze:\n\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cextensions\u003e\n    \u003cextension\u003e\n        \u003cgroupId\u003ecom.intuit\u003c/groupId\u003e\n        \u003cartifactId\u003emaven-build-scanner\u003c/artifactId\u003e\n        \u003cversion\u003e2.0.0-SNAPSHOT\u003c/version\u003e\n    \u003c/extension\u003e\n\u003c/extensions\u003e\n```\n\n```bash\n# Create your first scan:\nmvn install\n```\n\nUse docker to launch the server:\n\n```bash\n# Create your first scan:\ndocker-compose up -d\n```\n\nThis will print launch the server listening on port `3000. The report will show:\n\n* A timeline of the build, so you can see how effective concurrency is being used.\n* A pie chart showing the Maven plugins that took the longest.\n* A module-by-module breakdown of tasks.\n* Links to reports on previous builds.\n\n#### Uninstall\n\n- Remove the entry in the `extensions.xml`\n- Remove the docker container:\n\n```bash\ndocker compose stop \u0026\u0026 docker compose rm\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintuit%2Fmaven-build-scanner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fintuit%2Fmaven-build-scanner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fintuit%2Fmaven-build-scanner/lists"}