Generate the New Connector Source

The SDK provides a Maven archetype to scaffold a new connector. This will generate all the classes with empty methods for us to implement, enabling us to develop the new connector.

Step 1: Build the archetype

Run the following command from the repository root.

mvn clean install -pl connector-archetype -am

Step 2: Generate a new connector

From the forked repository root, run in non-interactive mode (recommended) so all parameters are supplied, and Maven does not prompt. Run the Maven archetype command.

mvn archetype:generate \
-DarchetypeGroupId=com.ovaledge \
-DarchetypeArtifactId=oe-csp-connector-archetype \
-DgroupId=com.ovaledge \
-DarchetypeVersion=<version> \
-DartifactId=<artifactId> \
-Dversion=<version> \
-DclassPrefix=<classPrefix> \
-DsdkVersion=<version> \
-DinteractiveMode=false

Example

mvn archetype:generate \
-DarchetypeGroupId=com.ovaledge \
-DarchetypeArtifactId=oe-csp-connector-archetype \
-DgroupId=com.ovaledge \
-DarchetypeVersion=1.0.0-SNAPSHOT \
-DartifactId=amazonq \
-Dversion=1.0.0-SNAPSHOT \
-DclassPrefix=AmazonQ \
-DsdkVersion=1.0.0-SNAPSHOT \
-DinteractiveMode=false

Step 3: Maven Args

Argument
Purpose

-DarchetypeGroupId=com.ovaledge

Maven groupId of the archetype. This should be com.ovaledge by default and is fixed; it should not change.

-DarchetypeArtifactId=oe-csp-connector-archetype

The Maven artifactId of the archetype. This value is fixed and identifies the connector archetype. It must always be set to oe-csp-connector-archetype and should not be changed.

-DarchetypeVersion=<version>

Version of the archetype to use; must match the oe_csp_sdk parent version (e.g., 1.0.0-SNAPSHOT).

-DgroupId=com.ovaledge

Maven groupId for the generated connector module (typically com.ovaledge).

-DartifactId=<artifactId>

Maven artifactId for the generated module; use a single lowercase word (e.g., amazonq). Becomes the module directory name and the base package segment com.ovaledge.csp.apps.<artifactId>. No hyphens.

-Dversion=<version>

Version of the generated connector; usually the same as oe_csp_sdk (e.g., 1.0.0-SNAPSHOT).

-DclassPrefix=<classPrefix>

PascalCase prefix for generated Java classes (e.g., AmazonQ). Produces <classPrefix>Connector, <classPrefix>MetadataService, <classPrefix>QueryService, etc.

-DsdkVersion=<version>

Version of the CSP SDK (csp-sdk-core) the connector will depend on; use the same as oe_csp_sdk (e.g., 1.0.0-SNAPSHOT).

-DinteractiveMode=false

Disables Maven prompts; all parameters must be supplied on the command line. Omit (or set to true) to run interactively.

Step 4: Replace placeholders

  • `<version>` — oe_csp_sdk parent version (e.g., 1.0.0-SNAPSHOT`)

  • `<artifactId>` — connector module name (e.g., `amazonq`)

  • `<classPrefix>` — PascalCase prefix for generated classes (e.g., `AmazonQ`)

Example:

To run interactively (Maven will prompt for any missing properties), omit `-DinteractiveMode=false` and the `-DartifactId`, `-DclassPrefix`, etc. parameters you do not wish to preset.

Step 5: Conventions

  • artifactId: Use a single lowercase word (e.g., amazonq) so the generated Java package com.ovaledge.csp.apps.<artifactId> is valid. Do not use hyphens.

  • classPrefix: Use PascalCase (e.g., AmazonQ). Generated classes will be named <classPrefix>Connector, <classPrefix>MetadataService, etc.

Step 6: Next Steps

Follow the generated INSTRUCTIONS.txt to add the module to the parent pom, csp-api, and assembly (same steps as in Assemble the Connector).

Step 7: Icon

Place amazonq.png (or similar) under amazonq/src/main/resources/icons/ for the connector icon in the UI.


Copyright © 2026, OvalEdge LLC, Peachtree Corners, GA, USA.

Last updated

Was this helpful?