Set up CI with Azure Pipelines (#1502)
* Set up CI with Azure Pipelines [skip ci] * Update azure-pipelines.yml for Azure Pipelines * Skip tests for a build * Work on pipeline * Update azure-pipelines.yml for Azure Pipelines * Interceptors docs * Test fix * Disable releases from snapshot repo * Try disabling jitpack * Fix dependency issue * A couple of test fixes * Change to trigger a build * Force a change to trigger a build * Force a build * FIx test
This commit is contained in:
parent
9b2826f3c6
commit
5f563057c0
|
@ -17,3 +17,5 @@ http://hapi.fhir.org/
|
||||||
This project is Open Source, licensed under the Apache Software License 2.0.
|
This project is Open Source, licensed under the Apache Software License 2.0.
|
||||||
|
|
||||||
Please see [this wiki page](https://github.com/jamesagnew/hapi-fhir/wiki/Getting-Help) for information on where to get help with HAPI FHIR. Please see [Smile CDR](https://smilecdr.com) for information on commercial support.
|
Please see [this wiki page](https://github.com/jamesagnew/hapi-fhir/wiki/Getting-Help) for information on where to get help with HAPI FHIR. Please see [Smile CDR](https://smilecdr.com) for information on commercial support.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
version: 1.0.{build}
|
|
||||||
image: Visual Studio 2017
|
|
||||||
cache:
|
|
||||||
- C:\maven\
|
|
||||||
- C:\Users\appveyor\.m2\repository
|
|
||||||
build_script:
|
|
||||||
- SET JAVA_HOME=C:\Program Files\Java\jdk10
|
|
||||||
- SET PATH=C:\Program Files\Java\jdk10\bin;%PATH%
|
|
||||||
- cmd: mvn -P MINPARALLEL,ALLMODULES,REDUCED_JPA_TESTS clean install
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
# Starter pipeline
|
||||||
|
# Start with a minimal pipeline that you can customize to build and deploy your code.
|
||||||
|
# Add steps that build, run tests, deploy, and more:
|
||||||
|
# https://aka.ms/yaml
|
||||||
|
|
||||||
|
variables:
|
||||||
|
MAVEN_CACHE_FOLDER: $(Pipeline.Workspace)/.m2/repository
|
||||||
|
MAVEN_OPTS: '-Dmaven.repo.local=$(MAVEN_CACHE_FOLDER)'
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
- master
|
||||||
|
|
||||||
|
pool:
|
||||||
|
vmImage: 'ubuntu-latest'
|
||||||
|
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
- job: Build
|
||||||
|
timeoutInMinutes: 360
|
||||||
|
steps:
|
||||||
|
- task: CacheBeta@0
|
||||||
|
inputs:
|
||||||
|
key: maven
|
||||||
|
path: $(MAVEN_CACHE_FOLDER)
|
||||||
|
displayName: Cache Maven local repo
|
||||||
|
|
||||||
|
- task: Maven@3
|
||||||
|
inputs:
|
||||||
|
goals: 'validate'
|
||||||
|
|
||||||
|
- task: Maven@3
|
||||||
|
inputs:
|
||||||
|
#mavenPomFile: 'pom.xml'
|
||||||
|
goals: 'clean install' # Optional
|
||||||
|
options: ''
|
||||||
|
#publishJUnitResults: true
|
||||||
|
#testResultsFiles: '**/surefire-reports/TEST-*.xml' # Required when publishJUnitResults == True
|
||||||
|
#testRunTitle: # Optional
|
||||||
|
#codeCoverageToolOption: 'None' # Optional. Options: none, cobertura, jaCoCo. Enabling code coverage inserts the `clean` goal into the Maven goals list when Maven runs.
|
||||||
|
#codeCoverageClassFilter: # Optional. Comma-separated list of filters to include or exclude classes from collecting code coverage. For example: +:com.*,+:org.*,-:my.app*.*
|
||||||
|
#codeCoverageClassFilesDirectories: # Optional
|
||||||
|
#codeCoverageSourceDirectories: # Optional
|
||||||
|
#codeCoverageFailIfEmpty: false # Optional
|
||||||
|
#javaHomeOption: 'JDKVersion' # Options: jDKVersion, path
|
||||||
|
#jdkVersionOption: 'default' # Optional. Options: default, 1.11, 1.10, 1.9, 1.8, 1.7, 1.6
|
||||||
|
#jdkDirectory: # Required when javaHomeOption == Path
|
||||||
|
#jdkArchitectureOption: 'x64' # Optional. Options: x86, x64
|
||||||
|
#mavenVersionOption: 'Default' # Options: default, path
|
||||||
|
#mavenDirectory: # Required when mavenVersionOption == Path
|
||||||
|
#mavenSetM2Home: false # Required when mavenVersionOption == Path
|
||||||
|
mavenOptions: '-Xmx2048m $(MAVEN_OPTS)' # Optional
|
||||||
|
#mavenAuthenticateFeed: false
|
||||||
|
#effectivePomSkip: false
|
||||||
|
#sonarQubeRunAnalysis: false
|
||||||
|
#sqMavenPluginVersionChoice: 'latest' # Required when sonarQubeRunAnalysis == True# Options: latest, pom
|
||||||
|
#checkStyleRunAnalysis: false # Optional
|
||||||
|
#pmdRunAnalysis: false # Optional
|
||||||
|
#findBugsRunAnalysis: false # Optional
|
||||||
|
|
||||||
|
|
|
@ -7,3 +7,4 @@ Interceptor classes may "hook into" various points in the processing chain in bo
|
||||||
```java
|
```java
|
||||||
{{snippet:classpath:/ca/uhn/hapi/fhir/docs/MyInterceptor.java|sampleClass}}
|
{{snippet:classpath:/ca/uhn/hapi/fhir/docs/MyInterceptor.java|sampleClass}}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -50,31 +50,26 @@
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
<artifactId>hapi-fhir-structures-dstu2</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
<optional>true</optional>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-hl7org-dstu2</artifactId>
|
<artifactId>hapi-fhir-structures-hl7org-dstu2</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
<optional>true</optional>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu2.1</artifactId>
|
<artifactId>hapi-fhir-structures-dstu2.1</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
<optional>true</optional>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-dstu3</artifactId>
|
<artifactId>hapi-fhir-structures-dstu3</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
<optional>true</optional>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>ca.uhn.hapi.fhir</groupId>
|
<groupId>ca.uhn.hapi.fhir</groupId>
|
||||||
<artifactId>hapi-fhir-structures-r4</artifactId>
|
<artifactId>hapi-fhir-structures-r4</artifactId>
|
||||||
<version>${project.version}</version>
|
<version>${project.version}</version>
|
||||||
<optional>true</optional>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
@ -212,7 +212,6 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.github.dnault</groupId>
|
<groupId>com.github.dnault</groupId>
|
||||||
<artifactId>xml-patch</artifactId>
|
<artifactId>xml-patch</artifactId>
|
||||||
<version>0.3.0</version>
|
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<!-- FHIR RI is pulled in for UCUM support, but we don't want any of its dependencies. -->
|
<!-- FHIR RI is pulled in for UCUM support, but we don't want any of its dependencies. -->
|
||||||
|
|
|
@ -35,10 +35,10 @@ public interface ITermCodeSystemVersionDao extends JpaRepository<TermCodeSystemV
|
||||||
@Query("DELETE FROM TermCodeSystemVersion csv WHERE csv.myCodeSystem = :cs")
|
@Query("DELETE FROM TermCodeSystemVersion csv WHERE csv.myCodeSystem = :cs")
|
||||||
void deleteForCodeSystem(@Param("cs") TermCodeSystem theCodeSystem);
|
void deleteForCodeSystem(@Param("cs") TermCodeSystem theCodeSystem);
|
||||||
|
|
||||||
@Query("SELECT cs FROM TermCodeSystemVersion cs WHERE cs.myResourcePid = :resource_id")
|
@Query("SELECT cs FROM TermCodeSystemVersion cs WHERE cs.myCodeSystemPid = :codesystem_pid")
|
||||||
List<TermCodeSystemVersion> findByCodeSystemPid(@Param("resource_id") Long theCodeSystemResourcePid);
|
List<TermCodeSystemVersion> findByCodeSystemPid(@Param("codesystem_pid") Long theCodeSystemPid);
|
||||||
|
|
||||||
@Query("SELECT cs FROM TermCodeSystemVersion cs WHERE cs.myResource.myId = :resource_id")
|
@Query("SELECT cs FROM TermCodeSystemVersion cs WHERE cs.myResourcePid = :resource_id")
|
||||||
List<TermCodeSystemVersion> findByCodeSystemResourcePid(@Param("resource_id") Long theCodeSystemResourcePid);
|
List<TermCodeSystemVersion> findByCodeSystemResourcePid(@Param("resource_id") Long theCodeSystemResourcePid);
|
||||||
|
|
||||||
@Query("SELECT cs FROM TermCodeSystemVersion cs WHERE cs.myCodeSystemHavingThisVersionAsCurrentVersionIfAny.myResource.myId = :resource_id")
|
@Query("SELECT cs FROM TermCodeSystemVersion cs WHERE cs.myCodeSystemHavingThisVersionAsCurrentVersionIfAny.myResource.myId = :resource_id")
|
||||||
|
|
|
@ -58,6 +58,7 @@ public class TermCodeSystemVersion implements Serializable {
|
||||||
|
|
||||||
@Column(name = "CS_VERSION_ID", nullable = true, updatable = false, length = MAX_VERSION_LENGTH)
|
@Column(name = "CS_VERSION_ID", nullable = true, updatable = false, length = MAX_VERSION_LENGTH)
|
||||||
private String myCodeSystemVersionId;
|
private String myCodeSystemVersionId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This was added in HAPI FHIR 3.3.0 and is nullable just to avoid migration
|
* This was added in HAPI FHIR 3.3.0 and is nullable just to avoid migration
|
||||||
* issued. It should be made non-nullable at some point.
|
* issued. It should be made non-nullable at some point.
|
||||||
|
@ -65,8 +66,11 @@ public class TermCodeSystemVersion implements Serializable {
|
||||||
@ManyToOne
|
@ManyToOne
|
||||||
@JoinColumn(name = "CODESYSTEM_PID", referencedColumnName = "PID", nullable = true, foreignKey = @ForeignKey(name = "FK_CODESYSVER_CS_ID"))
|
@JoinColumn(name = "CODESYSTEM_PID", referencedColumnName = "PID", nullable = true, foreignKey = @ForeignKey(name = "FK_CODESYSVER_CS_ID"))
|
||||||
private TermCodeSystem myCodeSystem;
|
private TermCodeSystem myCodeSystem;
|
||||||
@SuppressWarnings("unused")
|
|
||||||
|
|
||||||
|
@Column(name = "CODESYSTEM_PID", insertable = false, updatable = false)
|
||||||
|
private Long myCodeSystemPid;
|
||||||
|
|
||||||
|
@SuppressWarnings("unused")
|
||||||
@OneToOne(mappedBy = "myCurrentVersion", optional = true)
|
@OneToOne(mappedBy = "myCurrentVersion", optional = true)
|
||||||
private TermCodeSystem myCodeSystemHavingThisVersionAsCurrentVersionIfAny;
|
private TermCodeSystem myCodeSystemHavingThisVersionAsCurrentVersionIfAny;
|
||||||
|
|
||||||
|
|
|
@ -1368,11 +1368,14 @@ public class FhirResourceDaoR4SearchNoFtTest extends BaseJpaR4Test {
|
||||||
map.setLastUpdated(new DateRangeParam().setUpperBound(new DateParam(ParamPrefixEnum.LESSTHAN, "2022-01-01")));
|
map.setLastUpdated(new DateRangeParam().setUpperBound(new DateParam(ParamPrefixEnum.LESSTHAN, "2022-01-01")));
|
||||||
IBundleProvider found = myPatientDao.search(map);
|
IBundleProvider found = myPatientDao.search(map);
|
||||||
Set<String> dates = new HashSet<>();
|
Set<String> dates = new HashSet<>();
|
||||||
|
String searchId = found.getUuid();
|
||||||
for (int i = 0; i < 9; i++) {
|
for (int i = 0; i < 9; i++) {
|
||||||
List<IBaseResource> resources = found.getResources(i, i + 1);
|
List<IBaseResource> resources = found.getResources(i, i + 1);
|
||||||
assertThat("Failed to load range " + i + " - " + (i + 1), resources, hasSize(1));
|
assertThat("Failed to load range " + i + " - " + (i + 1) + " - from provider of type: " + found.getClass(), resources, hasSize(1));
|
||||||
Patient nextResource = (Patient) resources.get(0);
|
Patient nextResource = (Patient) resources.get(0);
|
||||||
dates.add(nextResource.getBirthDateElement().getValueAsString());
|
dates.add(nextResource.getBirthDateElement().getValueAsString());
|
||||||
|
|
||||||
|
found = myPagingProvider.retrieveResultList(null, searchId);
|
||||||
}
|
}
|
||||||
|
|
||||||
assertThat(dates, hasItems(
|
assertThat(dates, hasItems(
|
||||||
|
|
|
@ -120,7 +120,7 @@ public class FhirResourceDaoR4SearchOptimizedTest extends BaseJpaR4Test {
|
||||||
|
|
||||||
myDaoConfig.setSearchPreFetchThresholds(Arrays.asList(20, 50, 190));
|
myDaoConfig.setSearchPreFetchThresholds(Arrays.asList(20, 50, 190));
|
||||||
|
|
||||||
// Seach with count only
|
// Search with count only
|
||||||
SearchParameterMap params = new SearchParameterMap();
|
SearchParameterMap params = new SearchParameterMap();
|
||||||
params.add(Patient.SP_NAME, new StringParam("FAM"));
|
params.add(Patient.SP_NAME, new StringParam("FAM"));
|
||||||
params.setSummaryMode((SummaryEnum.COUNT));
|
params.setSummaryMode((SummaryEnum.COUNT));
|
||||||
|
@ -142,7 +142,9 @@ public class FhirResourceDaoR4SearchOptimizedTest extends BaseJpaR4Test {
|
||||||
assertEquals(201, results.size().intValue());
|
assertEquals(201, results.size().intValue());
|
||||||
ids = toUnqualifiedVersionlessIdValues(results, 0, 10, true);
|
ids = toUnqualifiedVersionlessIdValues(results, 0, 10, true);
|
||||||
assertThat(ids, hasSize(10));
|
assertThat(ids, hasSize(10));
|
||||||
assertEquals(201, myDatabaseBackedPagingProvider.retrieveResultList(null, uuid).size().intValue());
|
IBundleProvider bundleProvider = myDatabaseBackedPagingProvider.retrieveResultList(null, uuid);
|
||||||
|
Integer bundleSize = bundleProvider.size();
|
||||||
|
assertEquals(201, bundleSize.intValue());
|
||||||
|
|
||||||
// Search with count only
|
// Search with count only
|
||||||
params = new SearchParameterMap();
|
params = new SearchParameterMap();
|
||||||
|
|
13
pom.xml
13
pom.xml
|
@ -45,14 +45,7 @@
|
||||||
</scm>
|
</scm>
|
||||||
|
|
||||||
<repositories>
|
<repositories>
|
||||||
<repository>
|
<!--
|
||||||
<snapshots>
|
|
||||||
<enabled>false</enabled>
|
|
||||||
</snapshots>
|
|
||||||
<id>bintray-dnault-maven</id>
|
|
||||||
<name>bintray</name>
|
|
||||||
<url>https://dl.bintray.com/dnault/maven</url>
|
|
||||||
</repository>
|
|
||||||
<repository>
|
<repository>
|
||||||
<id>jitpack.io</id>
|
<id>jitpack.io</id>
|
||||||
<url>https://jitpack.io</url>
|
<url>https://jitpack.io</url>
|
||||||
|
@ -60,12 +53,16 @@
|
||||||
<enabled>false</enabled>
|
<enabled>false</enabled>
|
||||||
</snapshots>
|
</snapshots>
|
||||||
</repository>
|
</repository>
|
||||||
|
-->
|
||||||
<repository>
|
<repository>
|
||||||
<id>oss-snapshot</id>
|
<id>oss-snapshot</id>
|
||||||
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
|
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
|
||||||
<snapshots>
|
<snapshots>
|
||||||
<enabled>true</enabled>
|
<enabled>true</enabled>
|
||||||
</snapshots>
|
</snapshots>
|
||||||
|
<releases>
|
||||||
|
<enabled>false</enabled>
|
||||||
|
</releases>
|
||||||
</repository>
|
</repository>
|
||||||
</repositories>
|
</repositories>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue