5 Ways to Improve Your Maven Projects Using Build Scans

A presentation at DPE Tour Atlanta @ DEVNEXUS in April 2024 in Atlanta, GA, USA by Brian Demers

Slide 1

Slide 1

https://philhart.smugmug.com/Sun/Exmouth-Eclipse-20th-April-2023/i-QGPSbZv/A CC BY-NC-SA 4.0 Phil Hart 5 Ways to Improve Your Maven Projects Using Build Scans Brian Demers Open Source Developer BrianDemers bdemers

Slide 2

Slide 2

Who is this guy? @BrianDemers | bdemers

Slide 3

Slide 3

source: Silicon Valley @BrianDemers | bdemers

Slide 4

Slide 4

VS @BrianDemers | bdemers

Slide 5

Slide 5

VS @BrianDemers | bdemers

Slide 6

Slide 6

VS @BrianDemers | bdemers

Slide 7

Slide 7

Developer Productivity Engineering @BrianDemers | bdemers

Slide 8

Slide 8

What is a Build Scan? • X-ray of your build • Contains info on CI and local builds • Timing Info • What was in your build • Logs • Test data • etc. Kermit the Frog X-Ray

Slide 9

Slide 9

scans.gradle.com # Add Extention mvn com.gradle:develocity-maven-extension:1.21:init # Run Build mvn clean verify @BrianDemers | bdemers

Slide 10

Slide 10

  1. Debugging Failed Builds

Slide 11

Slide 11

  1. Share with Others Frech Fries @BrianDemers | bdemers Build Scan

Slide 12

Slide 12

  1. View Dependency Info $ mvn dependency:tree … - junit-jupiter-engine junit-jupiter - junit-platform-engine +- junit-jupiter-api | +- opentest4j | +- junit-platform-commons | - apiguardian-api +- junit-jupiter-params @BrianDemers | bdemers

Slide 13

Slide 13

  1. Finding the Slow Parts of your Build Slowest things in the world Integration Tests 74% @BrianDemers | bdemers

Slide 14

Slide 14

  1. Build Cache Troubleshooting & Optimization

Slide 15

Slide 15

Bonus: Analytics / Trends • Aggregated Performance Data • Trend Dashboards • Flaky Test Detection xkcd.com/653 @BrianDemers | bdemers

Slide 16

Slide 16

Questions? Thank you! BrianDemers bdemers Learn more & get free swag