The following provides instructions on how to set up your dev environment so you can start contributing to the Apache Metron  project quickly.

The below instructions is with the IntelliJ as the IDE. However, you can use whatever IDE you would like to contribute to Metron. 



Pre-Requisites

  1. Create an account on Githhub if you don't already have an account.
  2. Download the latest version of IntelliJ


Setting up your Dev Env

The below provides instructions on how to setup your Dev environment with Github and IntelliJ

Fork the Metron Repo 

We need to first fork the Apache Metron repo. Forking a repository allows you to freely experiment with changes without affecting the original project. See here for details on forking.

The below provides instructions on how to fork the Metron Repo:

  1. Log into your github account
  2. Go to https://github.com/apache/incubator-metron and click the Fork button and fork into your github account.  
  3. You should now have a fork like: https://github.com/[github_user_name]/incubator-metron
  4.  

Clone the Metron repo to you local Dev Env

After forking, clone the repo to your local dev workstation. See following instructions:

  1. Start IntelliJ
  2. Click File --> New --> Project from Version Control --> Github
  3. Configure the Github Repo URL that you forked earlier to clone.

Setup  your Cloned Repo as an IntelliJ project

 

  1. After the project has has been setup, you should see a prompt to add the cloned repo as a maven project. Click the "Add as Maven Project"

  2. Setup the Java SDK as 1.8 
    1. File -> Project Structure --> Project Settings --> Project --> Select 1.8 as SDK
  3. Setup the Project Structure correctly
    1. Go to File --> Project Structure --> Project Settings --> Module
    2. select plus sign and select "Import Module"
    3. Go to the location where you cloned your fork on your local workstation and select the metron-streaming folder
    4. Check the checkbox "Import module as from External Folder" and Select Maven

    5. Leave the default setting on the import settings page
    6. Click Finish
    7. you should see something like the following:

    8. Do steps b - g for the following folders under the cloned repo directory: deployment, metron-sensors, metron-ui and site
    9. Build the entire project and ensure that you have no errors: Build --> Make Project



How to Start Contributing

Now that you have setup your IDE environemnt and want to contribute on an enhancement, do the the following:


Create a JIRA Ticket

  1. Create JIRA ticket in Metron JIRA for the enhancement that you want to work on if it doesn't exist.
  2. Do your work within your Intellij project

Committing your changes to your Local Repo

After you have completd a small unit of work for the enhancement, you want to commit the changes to your lcoal repo. Do the following

  1.  Go to version control tab --> local changes --> right on the files that you modified or created --> select commit changes  

  2. Confirm the commit by adding the commit message and the JIRA numebr associated with the commit.