Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

All WSO2 products are 100% open source and released under the Apache License Version 2.0. WSO2 welcomes anyone who is interested in WSO2 products to become a contributor by getting involved in the WSO2 community and helping with the development of WSO2 projects.

...

Anyone (not just committers) can share contributions to WSO2's open-source software products. Your work will be recognized: if your contribution – feature enhancement, bug fix, or other improvements – is accepted, your name will be included as an author in the official commit logs. Read on for details on how you can contribute.

...

  1. Fork the respective code base to your Git account.
  2. Clone the code base to your local machine.

    git clone <GitHub-REPOSITORY-URL>

    If you are not sure which repository needs to be cloned, send an email to dev@wso2.org.

  3. Build the product using Maven.

    Prerequisites

    • Install Maven and JDK. See the Installation Prerequisites page for compatible versions. 
    • Set the environment variable MAVEN_OPTS="-Xms768m -Xmx3072m -XX:MaxPermSize=1200m" to avoid the maven OutOfMemoryError.
    • Make sure the build server has an active Internet connection to download dependencies while building.

    Use the following commands to create complete release artifacts of a WSO2 product, including the binary and source distributions.

    CommandDescription
    mvn clean install

    The binary and source distributions.

    mvn clean install -Dmaven.test.skip=true The binary and source distributions, without running any of the unit tests.
    mvn clean install -Dmaven.test.skip=true -o
    The binary and source distributions, without running any of the unit tests, in offline mode. This can be done only if you've already built the source at least once.
  4. If you need to add a new file to the repository:

    1. Add the new file.
      git add <FILE-NAME>
      For example:
      git add mycode.java
    2. Commit the newly added file to your local repository.
      git commit -m "<COMMIT-MESSAGE>"
      For example:
      git commit -m "Adding a new file"
  5. If you need to update an existing file in the repository:

    1. Open the file that you want to update and make the necessary changes.
    2. Commit the changes to your local repository.
      git commit -m "<COMMIT-MESSAGE>" -a
      For example:
      git commit -m "Updated the clauses in the terms and conditions file" -a
  6. Sync your changes with the upstream repository.

    Code Block
    git remote add <TAG-NAME> <UPSTREAM-GIT-REPO-URL>
    git fetch <TAG-NAME>
    git merge <TAG-NAME>/<BRANCH-NAME>

    For example:

    Code Block
    git remote add wso2_upstream https://github.com/wso2/wso2-synapse.git
    git fetch wso2_upstream
    git merge wso2_upstream/master
  7. Push the changes to your own Git repository.
    git push
  8. Send a Git pull request to the WSO2 Git repository and add the URL of the Git pull request in the JIRA that corresponds to the patch. Your pull request will be authorized only after it is reviewed by the team lead or release manager or responsible person for the corresponding Git repository.

...