Quarkus JGit

The Quarkus JGit extension enables the use of Eclipse JGit in a native executable.

Configuration

Once you have your Quarkus project configured you can add the jgit extension to your project by running the following command in your project base directory:

./mvnw quarkus:add-extension -Dextensions="jgit"

This will add the following to your pom.xml:

<dependency>
    <groupId>io.quarkiverse.jgit</groupId>
    <artifactId>quarkus-jgit</artifactId>
    <version>3.1.0</version>
</dependency>

Usage

The JGit dependency is resolved transitively when the extension is added to your project. Here is an example using it in a JAX-RS endpoint:

    @GET
    @Path("/clone")
    @Produces(MediaType.TEXT_PLAIN)
    public String cloneRepository(@QueryParam("url") String url) throws Exception {
        File tmpDir = Files.createTempDirectory("tmpgit").toFile();
        try (Git git = Git.cloneRepository().setDirectory(tmpDir).setURI(url).call()) {
            return tmpDir.toString();
        }
    }

When building a native executable, make sure that the SSL support is configured appropriately.