Skip to main content

Set Up a Local Developer Environment

A local development environment creates an isolated workspace for testing and debugging applications. If they work in a local environment, external factors (such as changes in shared dev or test environments, or updates to the cluster) do not interfere with the developer’s work. A local environment can be tailored to individual developer needs and provides a faster feedback loop through live-reloading supported in local Quarkus runtimes.
If you need a remote sandbox instead, see Set up a remote sandbox.

Prerequisites

Before you set up a local environment, complete the following tasks:

Java JDK 17

Install Eclipse Temurin JDK distribution

Apache Maven

Install Maven for project management

Git

Install Git for version control

IDE

Install IntelliJ IDEA or VS Code

Install Java Development Kit (JDK)

Grand Central uses the Eclipse Temurin JDK distribution. The supported Java runtime version is 17.
  1. Download the JDK specific for your operating system and architecture
  2. Install according to the installation guide
  3. Verify installation:
java -version

Install Maven

All connectors, API projects, and Grand Central SDKs use Apache Maven as a software project management tool.
  1. Follow the Maven installation guide
  2. Verify installation:
mvn -version

Configure Your Local Developer Environment

Step 1: Configure Maven Credentials

Set the credentials that Maven requires to retrieve artifacts from repositories.
1

Create Maven Settings File

Create ~/.m2/settings.xml if it doesn’t exist
2

Encrypt Master Password

Encrypt credentials with a Maven master password and store in ~/.m2/settings-security.xml

Step 2: Create Personal API Keys

GitHub Personal Access Token

1

Generate Token

Generate a GitHub access tokenMake sure to select the read:packages scope
2

Authorize Token

Authorize the token for use with SAML SSO in your organization

Backbase Artifactory Token

1

Access Artifactory

2

Generate Token

  1. Click your profile image in the top right corner
  2. Select Set Me Up
  3. Select Maven
  4. Click Generate Token & Create Instructions

Encrypt Your Tokens

Encrypt your access tokens:
mvn --encrypt-password
You don’t need to pass the token as a parameter; the secret will be read from standard input.

Step 3: Configure Maven Settings

Create or update ~/.m2/settings.xml with your encrypted credentials:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                              http://maven.apache.org/xsd/settings-1.0.0.xsd">
    <servers>
        <server>
            <id>github</id>
            <username>your_github_username</username>
            <password>{your+encrypted+GitHub+token}</password>
        </server>
        <server>
            <id>backbase</id>
            <username>your_backbase_username</username>
            <password>{your+encrypted+Backbase+Artifactory+token}</password>
        </server>
    </servers>
    
    <profiles>
        <profile>
            <id>grandcentral</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <repositories>
                <repository>
                    <id>github</id>
                    <name>GitHub</name>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <url>https://maven.pkg.github.com/your-organization-name/*</url>
                </repository>
                <repository>
                    <id>backbase</id>
                    <name>Backbase Artifactory</name>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <url>https://repo.backbase.com/repo</url>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>github</id>
                    <name>GitHub Plugins</name>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <url>https://maven.pkg.github.com/your-organization-name/*</url>
                </pluginRepository>
                <pluginRepository>
                    <id>backbase</id>
                    <name>Backbase Artifactory Plugins</name>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <url>https://repo.backbase.com/repo</url>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
</settings>
Replace your-organization-name with your Grand Central GitHub organization name.

Step 4: Configure Git

Set Up Git User Configuration

Replace the following values with your own and run in your terminal:
git config --global author.name "Your Name"
git config --global author.email "[email protected]"
git config --global user.name "Your Name"
git config --global user.username "your_github_username"
git config --global user.email "[email protected]"
git config --global core.autocrlf "input"
git config --global http.sslVerify "true"

Generate SSH Key for GitHub

1

Generate SSH Key

Generate a new SSH key
ssh-keygen -b 4096 -t rsa -C "Your SSH Key comment"
3

Authorize SSH Key

Authorize your SSH key for use with SAML SSO

Configure GPG Signing

To ensure you correctly sign off your commits:
1

Generate GPG Key

3

Configure Git for Signing

List keys and configure Git to use your GPG key:
gpg --list-secret-keys --keyid-format=long
git config --global user.signingKey YOUR_KEY_ID
git config --global commit.gpgsign true

Verify Your Setup

To verify that your setup is successful, build the Grand Central connector template:
git clone [email protected]:bb-ecos-core/grandcentral-connector-template.git
cd grandcentral-connector-template
mvn clean package

Expected Output

If your setup is correct, these commands generate:

Quarkus Application

Ready-to-use Quarkus application with Camel routes in target/quarkus-app directory

OpenAPI Spec

OpenAPI specification implemented by the connector in target/generated-resources directory

Troubleshooting

  • Verify your GitHub token has read:packages scope
  • Ensure tokens are correctly encrypted in settings.xml
  • Check that SSO is authorized for your tokens
  • Verify repository URLs match your organization
  • Verify SSH key is added to GitHub account
  • Ensure SSH key is authorized for SSO
  • Check Git configuration with git config --list
  • Verify GPG key is added to GitHub
  • Check GPG agent is running
  • Ensure correct key ID is configured in Git
  • Verify Java 17 is installed: java -version
  • Set JAVA_HOME environment variable
  • Ensure Maven is using correct Java version

Next Steps

You are now ready to start developing locally:
  1. Build and run connectors locally
  2. Configure your connector
  3. Test and validate

Additional Resources