diff --git a/.dockerignore b/.dockerignore
index e9401f0cc9e..0e3b22687d0 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,2 +1,3 @@
docs
+!docs/coverage
charts
diff --git a/Makefile b/Makefile
index 9f0742b2e6c..2994af900ab 100644
--- a/Makefile
+++ b/Makefile
@@ -31,6 +31,9 @@ build-cli:
$(MAKE) build-proto
$(MAKE) -C cli build-all
+test-java-with-coverage:
+ mvn test jacoco:report-aggregate
+
build-java:
mvn clean verify
@@ -48,4 +51,4 @@ clean-html:
build-html:
mkdir -p $(PROJECT_ROOT)/dist/python
- cp -r $(PROJECT_ROOT)/sdk/python/docs/html/* $(PROJECT_ROOT)/dist/python
\ No newline at end of file
+ cp -r $(PROJECT_ROOT)/sdk/python/docs/html/* $(PROJECT_ROOT)/dist/python
diff --git a/core/pom.xml b/core/pom.xml
index b56f74dea2e..6a1a20622f0 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -32,6 +32,11 @@
+
+ org.jacoco
+ jacoco-maven-plugin
+
+
org.springframework.boot
spring-boot-maven-plugin
@@ -183,7 +188,6 @@
org.mockito
mockito-core
- 2.23.0
test
diff --git a/docs/coverage/java/pom.xml b/docs/coverage/java/pom.xml
new file mode 100644
index 00000000000..3cc17d88425
--- /dev/null
+++ b/docs/coverage/java/pom.xml
@@ -0,0 +1,87 @@
+
+
+
+ 4.0.0
+
+
+
+
+ dev.feast
+ feast-parent
+ ${revision}
+ ../../..
+
+
+ Feast Coverage Java
+ feast-coverage
+
+
+ true
+
+
+
+
+ dev.feast
+ feast-ingestion
+ ${project.version}
+
+
+
+ dev.feast
+ feast-core
+ ${project.version}
+
+
+
+ dev.feast
+ feast-serving
+ ${project.version}
+
+
+
+ dev.feast
+ feast-sdk
+ ${project.version}
+
+
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+
+
+ report-aggregate
+ prepare-package
+
+ report-aggregate
+
+
+
+
+
+
+
+
diff --git a/infra/docker/core/Dockerfile b/infra/docker/core/Dockerfile
index 91ef030dc90..c4cfe34b71b 100644
--- a/infra/docker/core/Dockerfile
+++ b/infra/docker/core/Dockerfile
@@ -12,7 +12,7 @@ WORKDIR /build
# the existing .m2 directory to $FEAST_REPO_ROOT/.m2
#
ENV MAVEN_OPTS="-Dmaven.repo.local=/build/.m2/repository -DdependencyLocationsEnabled=false"
-RUN mvn --also-make --projects core,ingestion \
+RUN mvn --also-make --projects core,ingestion -Drevision=$REVISION \
-DskipTests=true --batch-mode package
#
# Unpack the jar and copy the files into production Docker image
diff --git a/infra/docker/serving/Dockerfile b/infra/docker/serving/Dockerfile
index 5605c8846de..3517183d782 100644
--- a/infra/docker/serving/Dockerfile
+++ b/infra/docker/serving/Dockerfile
@@ -12,7 +12,7 @@ WORKDIR /build
# the existing .m2 directory to $FEAST_REPO_ROOT/.m2
#
ENV MAVEN_OPTS="-Dmaven.repo.local=/build/.m2/repository -DdependencyLocationsEnabled=false"
-RUN mvn --also-make --projects serving \
+RUN mvn --also-make --projects serving -Drevision=$REVISION \
-DskipTests=true --batch-mode package
# ============================================================
diff --git a/ingestion/pom.xml b/ingestion/pom.xml
index b6f1ea371a4..3f1309037bc 100644
--- a/ingestion/pom.xml
+++ b/ingestion/pom.xml
@@ -82,6 +82,11 @@
+
+
+ org.jacoco
+ jacoco-maven-plugin
+
diff --git a/pom.xml b/pom.xml
index b84f87f191f..b5eaee0d281 100644
--- a/pom.xml
+++ b/pom.xml
@@ -33,6 +33,7 @@
core
serving
sdk/java
+ docs/coverage/java
@@ -432,9 +433,9 @@
org.apache.maven.plugins
maven-surefire-plugin
- 2.22.1
+ 3.0.0-M4
- -Xms2048m -Xmx2048m -Djdk.net.URLClassPath.disableClassPathURLCheck=true
+ @{argLine} -Xms2048m -Xmx2048m -Djdk.net.URLClassPath.disableClassPathURLCheck=true
IntegrationTest
@@ -556,6 +557,18 @@
false
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.5
+
+
+
+ prepare-agent
+
+
+
+
org.springframework.boot
spring-boot-maven-plugin
diff --git a/sdk/java/pom.xml b/sdk/java/pom.xml
index e8a82a485fc..75d82edcc01 100644
--- a/sdk/java/pom.xml
+++ b/sdk/java/pom.xml
@@ -94,12 +94,8 @@
- maven-surefire-plugin
- 2.22.2
-
-
- maven-failsafe-plugin
- 2.22.2
+ org.jacoco
+ jacoco-maven-plugin
diff --git a/serving/pom.xml b/serving/pom.xml
index 1e8d1b83a68..a17748519d9 100644
--- a/serving/pom.xml
+++ b/serving/pom.xml
@@ -40,6 +40,11 @@
+
+ org.jacoco
+ jacoco-maven-plugin
+
+
org.springframework.boot
spring-boot-maven-plugin
@@ -249,11 +254,9 @@
test
-
org.mockito
mockito-core
- 2.23.0
test