Quick-start

Installation

Maven pom.xml
<repositories>
    <repository>
        <id>foxglove-repo</id>
        <name>Foxglove Maven Repository</name>
        <url>https://maven.pkg.github.com/mikelue/foxglove</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>

<dependency>
    <groupId>guru.mikelue.foxglove</groupId>
    <artifactId>core</artifactId>
    <version>1.0-SNAPSHOT</version>
    <scope>test</scope>
</dependency>
GitHub Maven registry authentication($HOME/.m2/settings.xml)
<servers>
    <server>
        <id>foxglove-repo</id>
        <username>mikelue</username>
        <password>your_token</password>
    </server>
</servers>

Don’t forget to create a PAT(personal access token) on GitHub.


Gradle
repositories {
    maven {
        name 'foxglove-repo'
        url 'https://maven.pkg.github.com/mikelue/foxglove'
    }
}

testImplementation 'guru.mikelue.foxglove:core:1.0-SNAPSHOT'

SBT
resolvers += "foxglove-repo" at "https://maven.pkg.github.com/mikelue/foxglove"

libraryDependencies += "guru.mikelue.foxglove" % "core" % "1.0-SNAPSHOT" % Test

ivysettings.xml
<ivysettings>
    <settings defaultResolver="chain"/>
    <resolvers>
        <chain name="chain">
            <ibiblio name="foxglove-repo"
                     m2compatible="true"
                     root="https://maven.pkg.github.com/mikelue/foxglove"
                     pattern="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/>
        </chain>
    </resolvers>
</ivysettings>
Ivy
<dependency org="guru.mikelue.foxglove" name="core" rev="1.0-SNAPSHOT" conf="test"/>

Use DataSource

Generating data by javax.sql.DataSource
import javax.sql.DataSource;

import guru.mikelue.foxglove.jdbc.JdbcTableFacet;
import guru.mikelue.foxglove.jdbc.JdbcDataGenerator;

// Generates 4 rows with "cr_brand "fixed to "Toyota" and
// 4 different values on "cr_model"
var facet = JdbcTableFacet.builder(TABLE_CAR)
    .numberOfRows(4)
    .column("cr_brand")
        .fixed("Toyota")
    .column("cr_model")
        .roundRobin("Corolla", "Camry", "RAV4", "Prius")
    .build();

new JdbcDataGenerator(getDataSource())
    .generate(facet);

See default generators page for more details.

References