You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Next »

 

You need to do the following to get started:

 

  • Contributor Registration: Sign up with the tools used to develop Trafodion.
  • Tools and Guidelines: Familiarize yourself with the tools and guidelines used to develop Trafodion.
  • Development Workflow: Familiarize yourself with how to work with git, make changes, commit changes, and generate pull requests.
  • Next Steps: Decide where to go next in this guide depending on your intended contribution.

 

Contributor Registration

You need to register as a Trafodion contributor before you can help us develop Trafodion. Please perform the following registration actions:

AreaNotesURL
Individual Contributor License Agreement (ICLA)You should sign the ICLA before contributing content to the Trafodion source tree. (Required to become a committer.)ICLA Agreement

Approval Process
Source ControlYou must have a git account in order to contribute to the Trafodion source. If you haven’t already done so, please join git.Git Sign-up
Defect TrackingIn order to have certain permissions, including assigning issues to yourself, you need to be a Contributor in the project. Be sure to sign up for a JIRA account if you don’t have one.Jira Signup

 

Please send an e-mail to the Trafodion development list with the approved ICLA attached. Include your git and Jira IDs. Wait for the response and then you’re ready to help us develop Trafodion. You will be added (by designated space admins) to:

 

 

  • The Trafodion Confluence Contributors group, so that you can add new and edit existing wiki pages.
  • The Trafodion JIRA Contributors group, so that you can assign yourself to any open issue in order to bring it further to resolution and/or closure.

 

Tools and Guidelines

AreaToolNotesLocation
Trafodion ArchitectureDocumentPlease review the Trafodion architecture to ensure that you understand how the different components related to each other.Trafodion Architecture
Defect TrackingJiraView all the Trafodion defects and enhancements requests in the Jira system hosted by Apache.Trafodion Jiras
Defect ManagementDocumentPlease read about our approach to defect management. Mostly, any changes you’ll make will be in response to a defect reported in Jira.Defect Management
Git ToolsgitMost of the Trafodion development is done on Linux. Development of the web site and/or documentation can successfully be done on Windows.Install Git Tools
Code RepositorygitThe full Trafodion source tree can be retrieved from either of these repositories.Apache Repository
GitHub Mirror
Code OrganizationDocumentIf you intend to work on the Trafodion code, then please familiarize yourself with the code organization.Code Organization
C++ Coding GuidelinesDocumentPlease read the coding guidelines for the Trafodion C++ code before making changes.C++ Coding Guidelines
Debugging TipsDocumentDocumented tips describing how to debug your code in unit testing.Debugging Tips
TestingDocumentTrafodion has a rich set of test suites for each of its components. You’ll need to run the tests before submitting a code change for review.How to Test
Code ReviewsgitWe use GitHub pull-requests for code review. All of the activity on GitHub is captured in ASF JIRA and/or ASF project mail archives by ASF INFRA team automation. In this way, we do not depend on GitHub for accurate history of where contributions come from.

Each pull-request title should start with a JIRA ID in brackets, so that activity can be logged to the correct JIRA issue. Regardless of the title, the pull-request activity is also logged to the Code-Review Mail List.
Current Pull Requests

 

Development Workflow

The following provides a basic overview of how we develop Trafodion.




You can obtain the Trafodion source code using one of these methods:

Git Fork

If you intend to make changes to the Trafodion source tree, then install the source tree from GitHub.

Install Git Tools

If you haven’t done so already, install the Git Tools:

 

Download Trafodion Source Tree

You download the Trafodion source tree once the git tools have been installed.

Fork Trafodion Repository

You create a private fork of Trafodion on https://github.com/apache/trafodion. Use the fork button top-right on the page to create your fork, which will be named <your-github-id>_fork.

The following examples use trafdeveloper to represent <your-github-id>.

 

Clone Trafodion Repository

Use the git shell to perform this task.


Clone Trafodion Repository
# Move to the directory where you want to install the Trafodion source code.
cd mysource

# Clone the Trafodion source code
git clone git://git.apache.org/trafodion.git
 
# Change to the Trafodion source-tree directory
cd trafodion

# Register your fork as a remote branch
git remote add trafdeveloper_fork git@github.com:trafdeveloper/trafodion
Create Task Branch

You create a task branch to make changes to the Trafodion source tree. Typically, we name the branches after the Jira we are working on. In this example, the Jira is: TRAFODION-1507.

Create Task Branch
# Ensure that you have the latest changes
git fetch --all

# Checkout source
git checkout -b TRAFODION-1507 origin/master

tar/zip Download

Typically, you download the Trafodion source tree as a tar/zip file if you don’t intend the change the source code. For example, when you want to build the Trafodion binaries only.

 

tar file


Download Locationhttps://dist.apache.org/repos/dist/release/trafodion/

  1. Open the trafodion folder.

    PGP Key

    The source tar file has been signed with one of the pgp keys, which is included in the download location’s KEYS file.

  2. Open the folder containing the version you want to download. For example: apache-trafodion-1.3.0-incubating

  3. Download the -src file that fits your security needs. For example: apache-trafodion-1.3.0-incubating-src.tar.gz

  4. Unpack the tar file:

    mkdir <target-directory>
    tar -xzf <tar file> -C <target-directory>
    # Change direcotry name to match GitHub download name; makes this guide simpler to write.
    mv <target-directory>/apache-trafodion-<version>-incubating <target-directory>/trafodion

    Example

    $ mkdir ~/mysource
    $ tar -xzf apache-trafodion-1.3.0-incubating-src.tar.gz -C ~/mysource
    $ ls mysource
    apache-trafodion-1.3.0-incubating
    $ ls mysource/apache-trafodion-1.3.0-incubating
    core  DISCLAIMER.txt  env.sh   licenses     Makefile    pom.xml         README.txt  win-odbc64
    dcs   docs            install  LICENSE.txt  NOTICE.txt  RAT_README.txt  tests       wms
    $ # Change directory name to match GitHub download name; makes this guide simpler to write.
    $ mv mysource/apache-trafodion-1.3.0-incubating mysource/trafodion
    $ ls mysource
    trafodion


zip File

Click on Download ZIP at https://github.com/apache/trafodion. The zip file will be named trafodion-master.zip.

  1. If necessary, FTP the zip file to your Linux development environment using WinSCP or a similar tool.
  2. Unzip to the target directory.

    Unzip Trafodion Source
    unzip -q trafodion-master.zip -d mysource

    Example

     

    Unzip Example
    $ unzip -q trafodion-master.zip -d mysource
    $ ls mysource
    trafodion-master
    $ ls mysource/trafodion-master
    core  DISCLAIMER.txt  env.sh   licenses     Makefile    pom.xml         README.txt  win-odbc64
    dcs   docs            install  LICENSE.txt  NOTICE.txt  RAT_README.txt  tests       wms
    $ # Change directory name to match GitHub download name; makes this guide simpler to write.
    $ mv mysource/trafodion-master mysource/trafodion
    $ ls mysource
    trafodion
 

 Make Changes



  • No labels