Build Convention Tiles
This page documents tiles that provide standardized NGSS build conventions and aggregated functionality.
Aggregation Convention Tiles
These tiles bundle multiple related tiles together to provide complete build solutions for common project types.
ngss-service-build-conventions-tile
Provides language-agnostic NGSS service build conventions and artifact generation.
- Purpose
-
Establishes standard NGSS build practices for generating deployment and operational artifacts.
- Included Tiles
-
-
jenkinsfile-generator-tile -
kubernetes-generator-tile -
vv-automation-tile -
effective-metadata-generator-tile -
deployment-readme-generator-tile
-
- Features
-
-
CI/CD pipeline generation (Jenkinsfiles)
-
Kubernetes manifest generation
-
V&V process automation
-
Metadata processing and validation
-
Deployment documentation generation
-
- Properties
-
-
enforcer.failOnViolation=true: Enforces build requirements -
vamf.service.basepath: Service API base path -
vamf.service.main: Service main class
-
- Java Project Profile
-
When a
src/main/javadirectory exists, automatically activates enforcer rules that validate:-
Service base path follows
/[short_name]/v[majorVersion]format (e.g.,/users/v1) -
Main class follows
gov.va.*package structure -
Required properties are properly configured
-
- Usage
-
Use for any NGSS service that needs standard deployment artifacts and CI/CD integration.
ngss-java-service-build-conventions-tile
Extends ngss-service-build-conventions-tile with Java-specific build standards.
- Purpose
-
Provides complete Java service build conventions including testing, code quality, and code generation.
- Included Functionality
-
-
All features from
ngss-service-build-conventions-tile -
OpenAPI service code generation
-
Comprehensive testing and coverage reporting
-
Code quality enforcement (PMD, CheckStyle, SpotBugs)
-
- Usage
-
Recommended for most Java-based NGSS services as it provides a complete build solution.
ngss-code-quality-standards-tile
Comprehensive code quality enforcement configuration for Java projects.
- Purpose
-
Enforces NGSS code quality standards through static analysis tools.
- Features
-
-
PMD: Code quality analysis and best practice enforcement
-
CheckStyle: Code style and formatting standards
-
SpotBugs: Bug pattern detection and security analysis
-
Enforcer: Dependency and build requirement validation
-
- Standards Enforced
-
-
NGSS coding conventions
-
Security best practices
-
Performance guidelines
-
Code maintainability standards
-
- Configuration Source
-
Originally derived from
jersey-service-parentconfigurations. - Usage
-
Can be used standalone or is automatically included in
ngss-java-service-build-conventions-tile.
Individual Convention Tiles
These tiles can be used independently or as part of larger convention aggregations.
all-tests-with-coverage-tile
Comprehensive testing solution combining unit tests, integration tests, and coverage reporting.
- Purpose
-
Provides complete testing infrastructure for Java projects.
- Features
-
-
Surefire configuration for unit tests
-
Failsafe configuration for integration tests
-
JaCoCo coverage reporting and enforcement
-
Test result aggregation
-
- Coverage Requirements
-
-
Line coverage thresholds
-
Branch coverage thresholds
-
Coverage report generation
-
Build failure on insufficient coverage
-
- Usage
-
Use when you need comprehensive testing and coverage reporting for Java projects.
Tile Dependencies and Interactions
|