# Step 2: Build the Client

Fork and clone the client from GitHub, and then build the client.

**Prerequisites**

- Java 11 (see [Java SE 11 Archive Downloads](https://www.oracle.com/java/technologies/javase/jdk11-archive-downloads.html))
- Apache Maven (see [Installing Apache Maven](https://maven.apache.org/install.html))

1. Fork and then clone the `pub-sub-api` GitHub repository: <https://github.com/forcedotcom/pub-sub-api>. For more information, see [Fork a repository](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo) in *GitHub Docs*. Forking a repository enables you to save your changes in your forked repository. If you want to skip forking the repo, you can just clone the repo, but you can’t save changes that you make in the `pub-sub-api` repo.
2. In a terminal window, go to the `java` folder in your cloned `pub-sub-api` folder.
3. Build the Java client package and generate required sources from the proto file. From the `java` folder, enter: `mvn clean install`
