hapi-fhir/azure-pipelines.yml
James Agnew 9a45576793
Cache service loaders (#4196)
* Extracting a Cache interface and building service loaders for Caffeine and Guava

* Fix estimated size interface

* Use LoadingCache when needed.

* Removing Caffeine from dependency lists.

* Adding hapi-fhir-cache-caffeine as a test dependency

* Putting caching solutions in a single module.

* Fixing the spacing

* Standardizing the use of TimeUnits

* Making a new module to simplify the switch of the cache library in tests.

* Making sure the Guava design matches the behavior of Caffeine.

* Making sure the Cache structure also does not throw InvalidCacheLoading exception to match the LoadingCache.

* Renaming module names for the caching group.

* Better error handing that informs devs what to do.

* Improving documentation

* Typo

* Matching error message design with Caffeine.

* Matching the behavior of Caffeine with Guava

* Final adjustments for the test dependencies on the cache modules.

* Fixing relative pom path.

* Adding caffeine as a testing requirement for the new modules.

* Add changelog and set JPA server to use caffeine cache

* POM fixes

* Build fix

* Buid fix

* Fixes

* Address review comment

* One more cache

* Move changelog to next release

* Update pom versions

* Build fix

* Build fixes

* Build fix

* Try to get build working

* Experiment with failing build

* Rever change

* Fix POM version

* Build fix

* Build fix

* Add Msg.code to new exceptions

Co-authored-by: Vitor Pamplona <vitor@vitorpamplona.com>
2022-11-09 19:47:23 +00:00

142 lines
7.2 KiB
YAML

# HAPI FHIR Build Pipeline
variables:
MAVEN_CACHE_FOLDER: $(Pipeline.Workspace)/.m2/repository
MAVEN_OPTS: ''
NEW_RELEASE_VERSION:
BRANCH:
trigger: none
pool:
vmImage: ubuntu-latest
stages:
- stage:
displayName: "module-tests"
jobs:
- template: test-job-template.yml
parameters:
modules:
- name: hapi_fhir_jpaserver_test_dstu2
module: hapi-fhir-jpaserver-test-dstu2
- name: hapi_fhir_jpaserver_test_dstu3
module: hapi-fhir-jpaserver-test-dstu3
- name: hapi_fhir_jpaserver_test_r4
module: hapi-fhir-jpaserver-test-r4
- name: hapi_fhir_jpaserver_test_r4b
module: hapi-fhir-jpaserver-test-r4b
- name: hapi_fhir_jpaserver_test_r5
module: hapi-fhir-jpaserver-test-r5
- name: hapi_fhir_jpaserver_test_utilities
module: hapi-fhir-jpaserver-test-utilities
- name: hapi_fhir_structures_r4
module: hapi-fhir-structures-r4
- name: hapi_fhir_jpaserver_base
module: hapi-fhir-jpaserver-base
- name: hapi_fhir_android
module: hapi-fhir-android
- name: hapi_fhir_base
module: hapi-fhir-base
- name: hapi_fhir_checkstyle
module: hapi-fhir-checkstyle
- name: hapi_fhir_cli_api
module: hapi-fhir-cli/hapi-fhir-cli-api
- name: hapi_fhir_cli_jpaserver
module: hapi-fhir-cli/hapi-fhir-cli-jpaserver
- name: hapi_fhir_client
module: hapi-fhir-client
- name: hapi_fhir_client_okhttp
module: hapi-fhir-client-okhttp
- name: hapi_fhir_converter
module: hapi-fhir-converter
- name: hapi_fhir_docs
module: hapi-fhir-docs
- name: hapi_fhir_jaxrsserver_base
module: hapi-fhir-jaxrsserver-base
# Put to top, but kept in order here
# - name: hapi_fhir_jpaserver_base
# module: hapi-fhir-jpaserver-base
- name: hapi_fhir_jpaserver_cql
module: hapi-fhir-jpaserver-cql
- name: hapi_fhir_jpaserver_elastic_test_utilities
module: hapi-fhir-jpaserver-elastic-test-utilities
- name: hapi_fhir_jpaserver_mdm
module: hapi-fhir-jpaserver-mdm
- name: hapi_fhir_jpaserver_model
module: hapi-fhir-jpaserver-model
- name: hapi_fhir_jpaserver_searchparam
module: hapi-fhir-jpaserver-searchparam
- name: hapi_fhir_jpaserver_subscription
module: hapi-fhir-jpaserver-subscription
# Put to top, but kept in order here
# - name: hapi_fhir_jpaserver_test_utilities
# module: hapi-fhir-jpaserver-test-utilities
- name: hapi_fhir_jpaserver_uhnfhirtest
module: hapi-fhir-jpaserver-uhnfhirtest
- name: hapi_fhir_server
module: hapi-fhir-server
- name: hapi_fhir_server_mdm
module: hapi-fhir-server-mdm
- name: hapi_fhir_server_openapi
module: hapi-fhir-server-openapi
- name: hapi_fhir_serviceloaders
module: hapi-fhir-serviceloaders
- name: hapi_fhir_caching_api
module: hapi-fhir-serviceloaders/hapi-fhir-caching-api
- name: hapi_fhir_caching_caffeine
module: hapi-fhir-serviceloaders/hapi-fhir-caching-caffeine
- name: hapi_fhir_caching_guava
module: hapi-fhir-serviceloaders/hapi-fhir-caching-guava
- name: hapi_fhir_caching_testing
module: hapi-fhir-serviceloaders/hapi-fhir-caching-testing
- name: hapi_fhir_spring_boot_autoconfigure
module: hapi-fhir-spring-boot/hapi-fhir-spring-boot-autoconfigure
- name: hapi_fhir_spring_boot_sample_server_jersey
module: hapi-fhir-spring-boot/hapi-fhir-spring-boot-samples/hapi-fhir-spring-boot-sample-server-jersey
- name: hapi_fhir_sql_migrate
module: hapi-fhir-sql-migrate
- name: hapi_fhir_storage
module: hapi-fhir-storage
- name: hapi_fhir_storage_batch2
module: hapi-fhir-storage-batch2
- name: hapi_fhir_storage_batch2_jobs
module: hapi-fhir-storage-batch2-jobs
- name: hapi_fhir_storage_mdm
module: hapi-fhir-storage-mdm
- name: hapi_fhir_storage_test_utilities
module: hapi-fhir-storage-test-utilities
- name: hapi_fhir_structures_dstu2
module: hapi-fhir-structures-dstu2
- name: hapi_fhir_structures_dstu2_1
module: hapi-fhir-structures-dstu2.1
- name: hapi_fhir_structures_dstu3
module: hapi-fhir-structures-dstu3
- name: hapi_fhir_structures_hl7org_dstu2
module: hapi-fhir-structures-hl7org-dstu2
# Put to top, but kept in order here
# - name: hapi_fhir_structures_r4
# module: hapi-fhir-structures-r4
- name: hapi_fhir_structures_r5
module: hapi-fhir-structures-r5
- name: hapi_fhir_test_utilities
module: hapi-fhir-test-utilities
- name: hapi_fhir_testpage_overlay
module: hapi-fhir-testpage-overlay
- name: hapi_fhir_validation
module: hapi-fhir-validation
- name: hapi_fhir_validation_resources_dstu3
module: hapi-fhir-validation-resources-dstu3
- name: hapi_fhir_validation_resources_r4
module: hapi-fhir-validation-resources-r4
- name: hapi_tinder_plugin
module: hapi-tinder-plugin
- name: hapi_tinder_test
module: hapi-tinder-test
- name: tests_hapi_fhir_base_test_jaxrsserver_kotlin
module: tests/hapi-fhir-base-test-jaxrsserver-kotlin
- name: tests_hapi_fhir_base_test_mindeps_client
module: tests/hapi-fhir-base-test-mindeps-client
- name: tests_hapi_fhir_base_test_mindeps_server
module: tests/hapi-fhir-base-test-mindeps-server