Skip to content

Latest commit

 

History

History
153 lines (124 loc) · 8.62 KB

README.md

File metadata and controls

153 lines (124 loc) · 8.62 KB

VLINGO XOOM PLATFORM SDK

Build Gitter chat

xoom-common xoom-actors xoom-wire xoom-streams xoom-streams-tck xoom-http xoom-cluster xoom-graphql xoom-codegen xoom-directory xoom-auth xoom-symbio xoom-symbio-dynamodb xoom-symbio-geode xoom-symbio-jdbc xoom-lattice xoom-lattice-exchange-camel xoom-lattice-exchange-rabbitmq xoom-turbo xoom-designer xoom-schemata xoom-build-plugins xoom-build-plugins-test xoom-telemetry xoom-examples xoom-helloworld

Use the VLINGO XOOM OSS platform SDK for rapid delivery of low-code to full-code Reactive, Event-Driven Microservices and Applications using DOMA, DDD, and other approaches.

Docs: https://docs.vlingo.io/

Official VLINGO XOOM website.

Getting started

Prerequisites:

  • Java JDK 8 or greater

Maintaining the Libraries

Release process

See RELEASE_HOW_TO for the release process.

Local builds

To build all platform modules locally, clone all the modules (or pull the latest changes), and execute the install phase with the modules profile activated:

./pull.sh
mvn clean install -Pmodules

CI build configuration

  • GitHub Organisation secrets
    • RELEASE_GITHUB_TOKEN - Use the token on the VLINGO org
    • DEPLOY_GITHUB_TOKEN - GitHub token for publishing to GitHub packages
    • MAVEN_GPG_PRIVATEKEY - gpg key used to sign Maven packages
    • MAVEN_GPG_PASSPHRASE - password for the gpg key
    • OSSRH_USERNAME - username for the Sonatype OSSRH Maven repository
    • OSSRH_TOKEN - password for the Sonatype OSSRH Maven repository
    • DISCORD_WEBHOOK - Webhook for discord notifications, can be generated here

Deployment to Pivotal Cloud Foundry

You can refer to this link to read the documentation about how to deploy to Pivotal Cloud Foundry platform.

In our examples repository you have an example of how to deploy two services working together.

Snapshots repository

VLINGO snapshots are published to both Sonatype and GitHub Packages.

All VLINGO libraries are configured to use Sonatype for snapshots:

<project>
  <!-- ... -->
  <repositories>
    <repository>
      <id>ossrh-snapshots</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
      <releases><enabled>false</enabled></releases>
      <snapshots><enabled>true</enabled></snapshots>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>ossrh-snapshots</id>
      <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
      <releases><enabled>false</enabled></releases>
      <snapshots><enabled>true</enabled></snapshots>
    </pluginRepository>
  </pluginRepositories>
</project>

Snapshots can also be installed from GitHub Packages:

<project>
  <!-- ... -->
  <repositories>
    <repository>
      <id>github</id>
      <url>https://maven.pkg.github.com/vlingo/xoom-platform</url>
      <snapshots><enabled>true</enabled></snapshots>
    </repository>
  </repositories>
  <pluginRepositories>
    <pluginRepository>
      <id>github</id>
      <url>https://maven.pkg.github.com/vlingo/xoom-platform</url>
      <snapshots><enabled>true</enabled></snapshots>
    </pluginRepository>
  </pluginRepositories>
</project>

GitHub requires authentication with a Personal Access Token to use their Maven repository. In order to build VLINGO libraries locally, you will need to configure the following in your ~/.m2/settings.xml:

<settings>
  <servers>
    <server>
      <id>github</id>
      <username>GITHUB-USERNAME</username>
      <password>GITHUB-PERSONAL-ACCESS-TOKEN</password>
    </server>
  </servers>
</settings>

Replace GITHUB-USERNAME with your GitHub username, and GITHUB-PERSONAL-ACCESS-TOKEN with your Personal Access Token. Personal Access Tokens can be created in Settings > Developer Settings > Personal Access Tokens on GitHub. Remember to create the token with read:packages scope.

License (See LICENSE file for full license)

Copyright © 2012-2023 VLINGO LABS. All rights reserved.

This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at https://mozilla.org/MPL/2.0/.