GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — feast/java/CONTRIBUTING.md at master · Dee-Pac/feast

Expand file tree

/

CONTRIBUTING.md

Copy path
More file actions
More file actions

Latest commit

 

History

History
History
87 lines (65 loc) · 2.73 KB
/

CONTRIBUTING.md

Copy path

File metadata and controls

87 lines (65 loc) · 2.73 KB
Raw
Copy raw file
Download raw file
Outline
Edit and raw actions

Development Guide: feast-java

The higher level Development Guide gives contributing to Feast codebase as a whole.

Overview

This guide is targeted at developers looking to contribute to Feast components in the feast-java Repository:

  • Feast Serving
  • Feast Java Client

Don't see the Feast component that you want to contribute to here?
Check out the Development Guide to learn how Feast components are distributed over multiple repositories.

Common Setup

Common Environment Setup for all feast-java Feast components:

Ensure following development tools are installed:

  • Java SE Development Kit 11
  • Maven 3.6
  • make

Code Style

Feast's Java codebase conforms to the Google Java Style Guide.

Automatically format the code to conform the style guide by:

# formats all code in the feast-java repository
mvn spotless:apply

If you're using IntelliJ, you can import these code style settings if you'd like to use the IDE's reformat function.

Project Makefile

The Project Makefile provides useful shorthands for common development tasks:

Run all Unit tests:

make test-java

Run all Integration tests:

make test-java-integration

Building Docker images for Feast Core & Feast Serving:

make build-docker REGISTRY=gcr.io/kf-feast VERSION=develop

IDE Setup

If you're using IntelliJ, some additional steps may be needed to make sure IntelliJ autocomplete works as expected. Specifically, proto-generated code is not indexed by IntelliJ. To fix this, navigate to the following window in IntelliJ: Project Structure > Modules > datatypes-java, and mark the following folders as Source directorys:

  • target/generated-sources/protobuf/grpc-java
  • target/generated-sources/protobuf/java
  • target/generated-sources/annotations

Feast Serving

See instructions here for developing.

Feast Java Client

Environment Setup

Setting up your development environment for Feast Java SDK:

  1. Complete the feast-java Common Setup

Feast Java Client is a Java Client for retrieving Features from a running Feast Serving instance.
See the Feast Serving Section section for how to get a Feast Serving instance running.

Building

  1. Build / Compile Feast Java Client with Maven:
mvn package -pl sdk/java --also-make -Dmaven.test.skip=true

Unit Tests

Unit Tests can be used to verify functionality:

mvn package -pl sdk/java test --also-make
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.