Skip to content

Improve team size distribution #30

Merged
vanminh-grabtaxi merged 1 commit intograb:masterfrom
MinhNguyen-nvm:lib-support
Mar 19, 2026
Merged

Improve team size distribution #30
vanminh-grabtaxi merged 1 commit intograb:masterfrom
MinhNguyen-nvm:lib-support

Conversation

@MinhNguyen-nvm
Copy link
Copy Markdown
Contributor

Library Ownership Support

Overview

This commit adds comprehensive library ownership functionality to the app-sizer tool, enabling teams to track and validate library dependencies alongside module ownership.

Key Features Added

🏢 Library Team Ownership

  • Library-Owner Mapping: New library-owner.yml support for assigning Maven dependencies to teams
  • Pattern Matching: Supports exact matches, artifact wildcards (group:*), and group wildcards (*)
  • Maven Coordinate Extraction: Enhanced CLI to extract coordinates from Gradle cache paths
  • Team Dashboard: Combined module + library size reporting in team analytics

🔍 Team Validation Framework

  • Consistency Validation: Detects teams that exist in modules but not libraries (and vice versa)
  • Typo Detection: Uses Levenshtein distance to identify potential team name typos
  • Validation Reporting: Structured warning system with actionable suggestions
  • Integration: Automatic validation during team mapping initialization

⚙️ Enhanced Analytics

  • TeamAnalyzer: Renamed from CodebaseAnalyzer with library ownership integration
  • Detailed Reports: 8 breakdown categories per team (total, libraries, codebase components)
  • Library-Only Teams: Support for teams that only own libraries (e.g., DevOps, Infrastructure)
  • Comprehensive Testing: Full test coverage for validation and team analysis scenarios

Technical Changes

Core Components

  • TeamMapping interface extended for library ownership lookups
  • TeamValidator + ValidationReporter for team consistency validation
  • CliInputProvider enhanced with robust Maven coordinate extraction
  • New validation package with structured result types

Configuration Updates

  • Added libraryOwnerMappingFile config option
  • Sample library-owner.yml with team mapping examples
  • Updated CLI and plugin to support library ownership files

Analytics Option Rename

  • CODEBASETEAMS (reflects combined module + library analysis)
  • All report IDs and references updated accordingly

@vanminh-grabtaxi vanminh-grabtaxi merged commit 9fbbd49 into grab:master Mar 19, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants