Serge Huber created UNOMI-892:
---------------------------------

             Summary: Integrate Maven Build cache to speed up building
                 Key: UNOMI-892
                 URL: https://issues.apache.org/jira/browse/UNOMI-892
             Project: Apache Unomi
          Issue Type: Sub-task
          Components: unomi(-core)
    Affects Versions: unomi-3.0.0
            Reporter: Serge Huber
             Fix For: unomi-3.0.0


Implement Maven Build Cache to optimize build times and improve CI/CD pipeline 
performance. The project currently has specific configurations for Karaf 
packaging and integration tests that need to be considered in the cache 
implementation.

Current Setup:
1. Karaf Package Configuration:
   - Using Karaf version 4.2.15
   - Custom OSGi bundle configurations
   - Specific library versions for Karaf packaging (xerces, servicemix.specs, 
etc.)
   - Integration with Elasticsearch/OpenSearch

2. Integration Tests Configuration:
   - Currently has maven.build.cache.skip=true in itests/pom.xml
   - Uses PaxExam for container testing
   - Complex dependency management with Karaf BOM
   - Integration with Elasticsearch/OpenSearch for testing

Implementation Tasks:
1. Enable Maven Build Cache:
   - Add maven.build.cache.enabled=true to root pom.xml
   - Configure cache location and settings
   - Set appropriate cache TTL and size limits

2. Optimize Cache Configuration:
   - Review and adjust cache settings for Karaf package
   - Configure cache exclusions for volatile resources
   - Set up cache sharing between CI/CD pipelines

3. Integration Tests Considerations:
   - Evaluate removing maven.build.cache.skip=true from itests
   - Configure cache settings for test resources
   - Ensure test reproducibility with caching

4. Documentation:
   - Update build documentation with cache configuration
   - Document cache troubleshooting steps
   - Add cache maintenance procedures

Technical Details:
- Current Maven version: 3.x
- Java version: 11
- Build profiles: apache-release, integration-tests

Expected Benefits:
1. Faster build times in CI/CD pipelines
2. Reduced network bandwidth usage
3. Improved developer build experience
4. Better resource utilization

Acceptance Criteria:
1. Maven Build Cache successfully implemented
2. Build times improved by at least 30%
3. All tests pass with cache enabled
4. Documentation updated
5. No regression in build reproducibility

Priority: Medium
Labels: build-optimization, maven, performance



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to