diff --git a/.gitignore b/.gitignore index 3ac8639390e..e120ee7739e 100644 --- a/.gitignore +++ b/.gitignore @@ -25,4 +25,7 @@ test-output/ /pre-it-logs.zip /server-logs/ /integration-test-results/ -/integration-test-results.zip \ No newline at end of file +/integration-test-results.zip + +# Don't import pom backups +**/pom.xml.versionsBackup \ No newline at end of file diff --git a/docs/Build.mdx b/docs/Build.mdx new file mode 100644 index 00000000000..cf192d94493 --- /dev/null +++ b/docs/Build.mdx @@ -0,0 +1,67 @@ +--- +title: Build +--- + + +This article outlines the build process from a local machine and from the build server (Travis, GitHub actions). + + +There are two + +# Build: GitHub actions + +# Build: Travis +The build with [Travis](https://travis-ci.com/IBM/FHIR) is triggered through a `push` or `pull_request` or `cron` event. The `push` is the only event which is enabled in the **IBM FHIR Server** build. + + +# Build: Local + +## Build and Deploy + +### examples +- set the version with rc= where the number is version of the release. +``` shell +mvn clean -Drc=1 -Pdeploy-version-rc -f fhir-examples/pom.xml -N +``` + +- build and deploy +``` shell +mvn clean install javadoc:jar javadoc:test-jar -Pdeploy-bintray,fhir-javadocs deploy -f fhir-examples/pom.xml +``` + +### tools +- set the version +``` shell +mvn clean -Drc=1 -Pdeploy-version-rc -f fhir-tools/pom.xml -N +``` + +- build and deploy +``` shell +mvn clean install javadoc:jar javadoc:test-jar -Pdeploy-bintray,fhir-javadocs deploy -f fhir-tools/pom.xml +``` + +### parent +- set the version +``` shell +mvn clean -Drc=1 -Pdeploy-version-rc -f fhir-parent/pom.xml -N +``` + +- build and deploy +``` shell +mvn clean install javadoc:jar javadoc:test-jar -Pdeploy-bintray,fhir-javadocs deploy -f fhir-parent/pom.xml +``` + +* Locally * The local connection to bintray takes around 30-40 minutes to build, test and deploy. + + + +# Tips +If the build appears to randomly stop complaining about a 400 error, the issue might be one of the following: + +## 1 Naming of the artifactId might include a space. +The artifactId might have a space in it. `fhir-notification-websocket ` convert to `fhir-notification-websocket` + +## 2 The BinTray Key might need to be checked. +If you are able to successfully upload, there may be a need to check BinTray via commandline. + +curl -v --user : -T /Users//.m2/repository/com/ibm/fhir/fhir-notification-websocket/4.0.0-rc1-20191027/fhir-notification-websocket-4.0.0-rc1-20191027.pom https://api.bintray.com/maven/ibm-watson-health/ibm-fhir-server-snapshots/fhir-notification-websocket/com/ibm/fhir/fhir-notification-websocket/4.0.0-rc1-20191027/fhir-notification-websocket-4.0.0-rc1-20191027.pom \ No newline at end of file diff --git a/fhir-coverage-reports/.gitignore b/fhir-coverage-reports/.gitignore deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/fhir-coverage-reports/pom.xml b/fhir-coverage-reports/pom.xml deleted file mode 100644 index b70609643a7..00000000000 --- a/fhir-coverage-reports/pom.xml +++ /dev/null @@ -1,168 +0,0 @@ - - 4.0.0 - - com.ibm.fhir - fhir-parent - 4.0.0-SNAPSHOT - ../fhir-parent - - fhir-coverage-reports - pom - - - - ${project.groupId} - fhir-core - ${project.version} - - - ${project.groupId} - fhir-audit - ${project.version} - - - ${project.groupId} - fhir-config - ${project.version} - - - ${project.groupId} - fhir-model - ${project.version} - - - ${project.groupId} - fhir-search - ${project.version} - - - ${project.groupId} - fhir-persistence - ${project.version} - - - ${project.groupId} - fhir-persistence-proxy - ${project.version} - - - ${project.groupId} - fhir-persistence-jdbc - ${project.version} - - - ${project.groupId} - fhir-provider - ${project.version} - - - ${project.groupId} - fhir-notification - ${project.version} - - - ${project.groupId} - fhir-notification-kafka - ${project.version} - - - ${project.groupId} - fhir-notification-websocket - ${project.version} - - - ${project.groupId} - fhir-operation - ${project.version} - - - ${project.groupId} - fhir-operation-document - ${project.version} - - - ${project.groupId} - fhir-operation-validate - ${project.version} - - - ${project.groupId} - fhir-operation-healthcheck - ${project.version} - - - ${project.groupId} - fhir-database-utils - ${project.version} - - - ${project.groupId} - fhir-operation-bulkdata - ${project.version} - - - ${project.groupId} - fhir-operation-apply - ${project.version} - - - ${project.groupId} - fhir-bulkimportexport-webapp - ${project.version} - client - jar - - - ${project.groupId} - fhir-client - ${project.version} - - - ${project.groupId} - fhir-cli - ${project.version} - - - ${project.groupId} - fhir-persistence-schema - ${project.version} - - - - - - - org.jacoco - jacoco-maven-plugin - - - report-aggregate - verify - - report-aggregate - - - - - - maven-assembly-plugin - - - src/main/assembly/jacoco-report.xml - - ${project.reporting.outputDirectory} - - - - verify - - single - - - - - - - diff --git a/fhir-coverage-reports/src/main/java/.empty b/fhir-coverage-reports/src/main/java/.empty deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/fhir-coverage-reports/src/main/resources/.empty b/fhir-coverage-reports/src/main/resources/.empty deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/fhir-coverage-reports/src/test/java/.empty b/fhir-coverage-reports/src/test/java/.empty deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/fhir-coverage-reports/src/test/resources/.empty b/fhir-coverage-reports/src/test/resources/.empty deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/fhir-examples/pom.xml b/fhir-examples/pom.xml index a2ccdd6e718..fe178f1d364 100644 --- a/fhir-examples/pom.xml +++ b/fhir-examples/pom.xml @@ -32,4 +32,195 @@ + + + + + fhir-javadocs + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.1.1 + + false + none + -Xdoclint:none + 128m + 1g + + + com.ibm.fhir + + + target/apidocs/${project.artifactId} + + --frames + + IBM Corporation

FHIR® is the registered trademark of HL7 and is used with the permission of HL7.]]>
+ false + false +
+ + + aggregate + + javadoc-no-fork + test-javadoc-no-fork + + site + + false + none + -Xdoclint:none + 128m + 1g + + + com.ibm.fhir + + + target/apidocs/${project.artifactId} + + --frames + + IBM Corporation]]> + false + false + + + + attach-javadocs + + jar + + + +
+
+
+
+ + deploy-version-rc + + + + 1 + 4.0.0-rc${rc}-${maven.build.timestamp} + yyyyMMdd + + + + + + org.codehaus.mojo + versions-maven-plugin + 2.7 + + + + + + set + + clean + + * + ${deploy.version} + true + + + + + + + + + deploy-version-release + + + + 4.0.0 + yyyyMMdd-HHmm + + + + + + org.codehaus.mojo + versions-maven-plugin + 2.7 + + + + + + set + + clean + + * + ${deploy.version} + true + + + + + + + + + deploy-bintray + + + + 0 + yyyyMMdd-HHmm + ibm-fhir-server-snapshots + ibm-watson-health + + + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.1.2 + + + + true + true + + + ${maven.build.timestamp} + ${BUILD_ID} + ${GIT_COMMIT} + ${GIT_BRANCH} + ${GIT_URL} + + + + + + + + + + bintray-ibm-watson-health-ibm-fhir-server-snapshots + ibm-watson-health-ibm-fhir-server-snapshots + https://api.bintray.com/maven/${bintray.org}/${bintray.repo}/fhir-examples/;publish=${publish} + + + +
diff --git a/fhir-install/pom.xml b/fhir-install/pom.xml index 7f68fdab835..5b8acccd767 100644 --- a/fhir-install/pom.xml +++ b/fhir-install/pom.xml @@ -75,4 +75,44 @@ + + + + aggregate-report + + + + org.jacoco + jacoco-maven-plugin + + + report-aggregate + verify + + report-aggregate + + + + + + maven-assembly-plugin + + + src/main/assembly/jacoco-report.xml + + ${project.reporting.outputDirectory} + + + + verify + + single + + + + + + + + diff --git a/fhir-coverage-reports/src/main/assembly/jacoco-report.xml b/fhir-install/src/main/assembly/jacoco-report.xml similarity index 97% rename from fhir-coverage-reports/src/main/assembly/jacoco-report.xml rename to fhir-install/src/main/assembly/jacoco-report.xml index 4c8e8cbabeb..d333e2925eb 100644 --- a/fhir-coverage-reports/src/main/assembly/jacoco-report.xml +++ b/fhir-install/src/main/assembly/jacoco-report.xml @@ -9,4 +9,4 @@ jacoco-aggregate - + \ No newline at end of file diff --git a/fhir-notification-websocket/pom.xml b/fhir-notification-websocket/pom.xml index 30f1bbf5a6a..ae4fecdd307 100644 --- a/fhir-notification-websocket/pom.xml +++ b/fhir-notification-websocket/pom.xml @@ -8,7 +8,7 @@ ../fhir-parent - fhir-notification-websocket + fhir-notification-websocket diff --git a/fhir-parent/pom.xml b/fhir-parent/pom.xml index 1bc4f1114c0..8919ed92a39 100644 --- a/fhir-parent/pom.xml +++ b/fhir-parent/pom.xml @@ -57,7 +57,6 @@ ../fhir-swagger-generator ../fhir-openapi ../fhir-install - ../fhir-coverage-reports + + org.apache.maven.plugins + maven-javadoc-plugin + 3.1.1 + + false + none + -Xdoclint:none + 128m + 1g + + + com.ibm.fhir + + + target/apidocs/${project.artifactId} + + --frames + + IBM Corporation

FHIR® is the registered trademark of HL7 and is used with the permission of HL7.]]> + false + false + + + + aggregate + + javadoc-no-fork + test-javadoc-no-fork + + site + + false + none + -Xdoclint:none + 128m + 1g + + + com.ibm.fhir + + + target/apidocs/${project.artifactId} + + --frames + + IBM Corporation


FHIR® is the registered trademark of HL7 and is used with the permission of HL7.]]> + false + false + + + + attach-javadocs + + jar + + + + + + + + + deploy-version-rc + + + + 1 + 4.0.0-rc${rc}-${maven.build.timestamp} + yyyyMMdd + + + + + + org.codehaus.mojo + versions-maven-plugin + 2.7 + + + + + + set + + clean + + * + ${deploy.version} + true + + + + + + + + + deploy-version-release + + + + 4.0.0 + yyyyMMdd-HHmm + + + + + + org.codehaus.mojo + versions-maven-plugin + 2.7 + + + + + + set + + clean + + * + ${deploy.version} + true + + + + + + + + + deploy-bintray + + + + 0 + yyyyMMdd-HHmm + ibm-fhir-server-snapshots + ibm-watson-health + fhir-tools + + + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.1.2 + + + + true + true + + + ${maven.build.timestamp} + ${BUILD_ID} + ${GIT_COMMIT} + ${GIT_BRANCH} + ${GIT_URL} + + + + + + + + + + bintray-ibm-watson-health-ibm-fhir-server-snapshots + ibm-watson-health-ibm-fhir-server-snapshots + https://api.bintray.com/maven/${bintray.org}/${bintray.repo}/${project.artifactId}/;publish=${publish} + + + diff --git a/fhir-tools/dependency-reduced-pom.xml b/fhir-tools/dependency-reduced-pom.xml index 520a43019db..df64ed17b55 100644 --- a/fhir-tools/dependency-reduced-pom.xml +++ b/fhir-tools/dependency-reduced-pom.xml @@ -135,6 +135,10 @@ true + + maven-deploy-plugin + 3.0.0-M1 + @@ -161,6 +165,9 @@ + + maven-deploy-plugin + @@ -176,6 +183,235 @@ ${env.BUILD_DISPLAY_NAME} + + fhir-javadocs + + + + maven-javadoc-plugin + 3.1.1 + + + aggregate + site + + javadoc-no-fork + test-javadoc-no-fork + + + false + none + -Xdoclint:none + 128m + 1g + + + com.ibm.fhir + + + target/apidocs/fhir-tools + + --frames + + Copyright 2019, <a href="http://www.ibm.com">IBM Corporation<a> + false + false + + + + attach-javadocs + + jar + + + false + none + -Xdoclint:none + 128m + 1g + + + com.ibm.fhir + + + target/apidocs/fhir-tools + + --frames + + Copyright 2019, <a href="http://www.ibm.com">IBM Corporation<a> + false + false + + + + + false + none + -Xdoclint:none + 128m + 1g + + + com.ibm.fhir + + + target/apidocs/fhir-tools + + --frames + + Copyright 2019, <a href="http://www.ibm.com">IBM Corporation<a> + false + false + + + + + + + deploy-version-rc + + + + org.codehaus.mojo + versions-maven-plugin + 2.7 + + + clean + + set + + + * + ${deploy.version} + true + + + + + + + + + 1 + 4.0.0-rc${rc}-${maven.build.timestamp} + yyyyMMdd + + + + deploy-version-release + + + + org.codehaus.mojo + versions-maven-plugin + 2.7 + + + clean + + set + + + * + ${deploy.version} + true + + + + + + + + + 4.0.0 + yyyyMMdd-HHmm + + + + deploy-bintray + + + + maven-jar-plugin + 3.1.2 + + + default-jar + package + + jar + + + + + true + true + + + 20191028-0113 + ${BUILD_ID} + ${GIT_COMMIT} + ${GIT_BRANCH} + ${GIT_URL} + + + + + + + test-jar + + + + + true + true + + + 20191028-0113 + ${BUILD_ID} + ${GIT_COMMIT} + ${GIT_BRANCH} + ${GIT_URL} + + + + + + + + + true + true + + + 20191028-0113 + ${BUILD_ID} + ${GIT_COMMIT} + ${GIT_BRANCH} + ${GIT_URL} + + + + + + + + + bintray-ibm-watson-health-ibm-fhir-server-snapshots + ibm-watson-health-ibm-fhir-server-snapshots + https://api.bintray.com/maven/${bintray.org}/${bintray.repo}/fhir-tools/;publish=0 + + + + fhir-tools + yyyyMMdd-HHmm + 0 + ibm-fhir-server-snapshots + ibm-watson-health + + diff --git a/fhir-tools/pom.xml b/fhir-tools/pom.xml index 244abea3283..6bfb98cd75e 100644 --- a/fhir-tools/pom.xml +++ b/fhir-tools/pom.xml @@ -158,6 +158,11 @@ + + org.apache.maven.plugins + maven-deploy-plugin + 3.0.0-M1 + @@ -186,6 +191,10 @@ + + org.apache.maven.plugins + maven-deploy-plugin + @@ -277,5 +286,194 @@ ${env.BUILD_DISPLAY_NAME} + + fhir-javadocs + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 3.1.1 + + false + none + -Xdoclint:none + 128m + 1g + + + com.ibm.fhir + + + target/apidocs/${project.artifactId} + + --frames + + IBM Corporation


FHIR® is the registered trademark of HL7 and is used with the permission of HL7.]]> + false + false + + + + aggregate + + javadoc-no-fork + test-javadoc-no-fork + + site + + false + none + -Xdoclint:none + 128m + 1g + + + com.ibm.fhir + + + target/apidocs/${project.artifactId} + + --frames + + IBM Corporation
]]> + false + false + + + + attach-javadocs + + jar + + + + + + + + + deploy-version-rc + + + + 1 + 4.0.0-rc${rc}-${maven.build.timestamp} + yyyyMMdd + + + + + + org.codehaus.mojo + versions-maven-plugin + 2.7 + + + + + + set + + clean + + * + ${deploy.version} + true + + + + + + + + + deploy-version-release + + + + 4.0.0 + yyyyMMdd-HHmm + + + + + + org.codehaus.mojo + versions-maven-plugin + 2.7 + + + + + + set + + clean + + * + ${deploy.version} + true + + + + + + + + + deploy-bintray + + + + 0 + yyyyMMdd-HHmm + ibm-fhir-server-snapshots + ibm-watson-health + fhir-tools + + + + + + + org.apache.maven.plugins + maven-jar-plugin + 3.1.2 + + + + true + true + + + ${maven.build.timestamp} + ${BUILD_ID} + ${GIT_COMMIT} + ${GIT_BRANCH} + ${GIT_URL} + + + + + + + + + + bintray-ibm-watson-health-ibm-fhir-server-snapshots + ibm-watson-health-ibm-fhir-server-snapshots + https://api.bintray.com/maven/${bintray.org}/${bintray.repo}/fhir-tools/;publish=0 + + + +