Giter Site home page Giter Site logo

spring-xd-modules's Introduction

Spring XD Modules

This repository contains modules - reusable components for building streams or jobs with Spring XD. The Spring XD distribution includes a number of ready to use modules out of the box. This repository is intended to supplement the pre-packaged modules with contributions from the user community and the Spring XD team.

Contributions to this repository are subject to the same initial code review and QA processes applied to the main Spring XD code base. However, they are not included in the Spring XD release management and CI processes, as are the pre-packaged modules, and are provided as-is. This means they are manually tested against a specific version of Spring XD and approved updates are merged into the master branch. Additionally, the Spring XD team will manually build and test these against current releases. This policy is subject to change, but at this point this repository should be considered an "incubator". We strongly encourage the Spring XD community to use and contribute to this repository. Furthermore, we envision that this resource will eventually become a vital part of the Spring XD ecosystem.

Installing a module

Each module is a self contained component and includes the source code, a general description, and instructions for building the the module with Maven and/or Gradle. In order to use one of these modules, clone this repo, build the module locally, and upload the jar using the spring xd shell module upload command. Detailed instructions are included with each project. You will find a good overview of modules and module packaging here.

Updating the Spring XD version

Each module project provides a build script (Maven, Gradle, or both) used to package the module as a jar. The build scripts are configured for a specific Spring XD version. If you intend to use a module with a different Spring XD version, rebuild the module configured for the target version. See the section on module dependency management in the Spring XD reference for details.

Developing Modules

Read the Creating a Module section in the Spring XD reference guide for a good overview of developing modules. If you want to dive into code, have a look at the example modules in the [spring-xd-samples][Samples] repository as well as the modules here.

Should I provide both Maven and Gradle builds?

Note that many of the [Samples][] provide both Maven and Gradle builds, primarily for illustration purposes. Some of the contributions here have followed this pattern. If you feel strongly about offering users a choice, we will respect that, but it's not really necessary. You are free to choose your preferred build tool. If you do decide to provide both, just be aware that you and whoever reviews your project will need to verify both builds are identically configured, complete successfully, and the jar contents produced by each are identical.

Contributing to Spring XD

If you would like to contribute to this repository, we encourage contributions via pull requests from forks of this repository. If you want to contribute code this way, please familiarize yourself with the process outlined for contributing to Spring projects here: Contributor Guidelines.

Before we accept a non-trivial patch or pull request we will need you to sign the contributor's agreement. Signing the contributor's agreement does not grant anyone commit rights to the main repository, but it does mean that we can accept your contributions, and you will get an author credit if we do. Active contributors might be asked to join the core team, and given the ability to merge pull requests.

Issue Tracking

Report issues via the Spring XD JIRA.

[Samples]:https://github.com/spring-projects/spring-xd-samples)

spring-xd-modules's People

Contributors

artembilan avatar cppwfs avatar ericbottard avatar garyrussell avatar ghillert avatar ilayaperumalg avatar jvalkeal avatar markpollack avatar mohdaliiqbal avatar simontaoemc avatar spring-builds avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.