Skip to content

flowpowered/chat

Repository files navigation

Flow Chat License Flattr this Build Status Coverage Status

Chat and messaging library for the Flow collection.

Getting Started

Source Code

The latest and greatest source can be found here on GitHub. If you are using Git, use this command to clone the project:

git clone git://github.com/flow/flow-chat.git

Or download the latest zip archive.

Dependencies

We love open-source libraries! This project uses are few of them to make things easier. If you aren't using Maven or Gradle, you'll need these!

Building from Source

This project can be built with the latest Java Development Kit and Maven or Gradle. Maven and Gradle are used to simplify dependency management, but using either of them is optional.

For Maven, the command mvn clean package will build the project and will put the compiled JAR in target, and mvn clean install will copy it to your local Maven repository.

For Gradle, the command gradlew will build the project and will put the compiled JAR in ~/build/distributions, and gradlew install will copy it to your local Maven repository.

Contributing

Are you a talented programmer looking to contribute some code? We'd love the help!

  • Open a pull request with your changes, following our guidelines and coding standards.
  • Please follow the above guidelines for your pull request(s) accepted.
  • For help setting up the project, keep reading!

Love the project? Feel free to donate to help continue development! Flow projects are open-source and powered by community members, like yourself. Without you, we wouldn't be here today!

Please don't forget to follow and star our repo! Join our growing community to keep up to date with the latest Flow development.

Usage

If you're using Maven to manage project dependencies, simply include the following in your pom.xml file:

<dependency>
    <groupId>com.flowpowered</groupId>
    <artifactId>flow-chat</artifactId>
    <version>0.1.0-SNAPSHOT</version>
</dependency>

If you do not already have the required repo in your repository list, you will need to add this as well:

<repository>
    <id>sonatype-nexus</id>
    <url>https://oss.sonatype.org/content/groups/public</url>
</repository>

If you're using Gradle to manage project dependencies, simply include the following in your build.gradle file:

repositories {
    mavenLocal()
    mavenCentral()
    maven {
        name = 'sonatype-nexus'
        url = 'https://oss.sonatype.org/content/groups/public/'
    }
}
dependencies {
    compile 'com.flowpowered:flow-chat:0.1.0-SNAPSHOT'
}

If you'd prefer to manually import the latest .jar file, you can get it here.

Documentation

Want to get friendly with the project and put it to good use? Check out the latest Javadocs.

To generate the the Javadocs with Maven, use the mvn javadoc:javadoc command. To view the javadocs simply go to target/site/apidocs/ and open index.html in a web browser.

To generate Javadocs with Gradle, use the gradlew javadoc command. To view the javadocs simply go to build/docs/javadoc/ and open index.html in a web browser.

Version Control

We've adopted the git flow branching model in our projects. The creators of git flow released a short intro video to explain the model.

The master branch is production-ready, but is not yet vetted for release. Only small patches and hotfix/x branches are pushed to master, and will always have a release version. The develop and stage branches are pre-production, and are where we push feature/x branches for testing.

Our release branches are named by version number, e.g. 1.0 and 1.1. We begin release branches with a beta (b1) designation and progress them through release candidate to stable. All open source releases (included pre-releases) are tagged.

Legal Stuff

Flow Chat is licensed under the MIT License. Basically, you can do whatever you want as long as you include the original copyright. Please see the LICENSE.txt file for details.

Credits

  • Spout and contributors - where we all began, and for much of the re-licensed code.
  • All the people behind Java, Maven, and Gradle.