Versions Compared

Key

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

...

Info
This page assumes you have successfully downloaded and installed ONOS. If you have not done that yet, please follow the tutorial Installing and Running ONOS.

IDE Setup

The project does not enforce the use of a specific IDE, but rather, a set of guidelines that can be configured in an IDE. As such, developers should consult the documentation for the IDE of choice for specific configuration steps. 

The examples used here, if any, are either for Eclipse and IntelliJ. If you have no idea where to start, here are some instructions on how to install IntelliJ.

Importing ONOS Source

To take the best support out of your IDE, ONOS should be imported as a Maven project

In Eclipse, this amounts to:

  1. navigate to File > Import > Maven > Existing Maven Projects and 
  2. selecting the root directory of your source. 

 

Info

As ONOS is a multi-module project, it may appear as a collection of many (about 50 at the time of this writing) projects beginning with "onos-". This is normal for some IDEs such as Eclipse.

For a listing of the software modules that comprise ONOS, please refer to the Javadocs, or Appendix C of this Guide.

Tip
title"Plugin execution not covered ..." errors in Eclipse

If you're using Eclipse and see "Plugin execution not covered ..." errors about jacoco-maven-plugin and onos-maven-plugin after importing ONOS projects, follow these steps to eliminate those errors.

  1. Select one of "Plugin execution not covered..." error and select "Quick Fix"

    Expand

    Image Removed

    Image Removed

  2. Select "Mark the goal as ignored in Eclipse build in Eclipse preference" as the fix and "Finish" to apply the fix.

    Expand

    Image Removed

  3. Select one of the ONOS related project to open the "Update Project" dialog, then "Select All" projects and update all the projects.

    Expand

    Image Removed

    Image Removed

    It may take a while for Eclipse to rebuild all the project after refreshing project configuration.

  4. By following the steps above, maven goal resolution errors for the same goal should disappear. (jacoco-maven-plugin). Repeat the same step for remaining goal error. (onos-maven-plugin)

    Expand

    Image Removed

 

  1. Code Formatting

The formatting followed by the project are:

  1. Indentation using four spaces
  2. No trailing whitespaces, including in empty lines
  3. Spaces after keywords such as if, for, while, and casts

The whitespace formatting, among other code styling, is enforced via Checkstyle, which is run against the code during each Maven build. The build will fail if formatting violations are found.

The full guidelines are found in the Code Style Guidelines.

Prior to contributing code to ONOS, all developers should set-up their IDE to appropriately tag the code with the Apache 2 license header text. The bare text is checked in under tools/dev/header.txt, and the original can be found at: 

http://www.apache.org/licenses/LICENSE-2.0.html 

  1. Example: Copyright setup on IntelliJ

First make sure that you have the Copyright plugin enabled. Then, under Preferences, select Copyright section and create a new Copyright profile, call it something like Apache 2, and prime it with the text above, without any decorations. Then configure your copyright formatting options as shown:

Image Removed

  1. Example: Copyright setup on Eclipse

Configure the Comments for Files similar to the following. 
Remember to put a check on "Automatically add comments for new methods and types" to apply these templates on new files.  

Image Removed
  1. Git/Gerrit Setup

  2. Git remotes

...

The generated documentation is also wrapped into a gzipped tar archive and placed under /tmp with the naming convention onos-apidocs-<onos-version>.<user>.tar.gz.

 

IDE Setup

 

The project does not enforce the use of a specific IDE, but rather, a set of guidelines that can be configured in an IDE. As such, developers should consult the documentation for the IDE of choice for specific configuration steps. 

 

The examples used here, if any, are either for Eclipse and IntelliJ. If you have no idea where to start, here are some instructions on how to install IntelliJ.

 

Importing ONOS Source

 

To take the best support out of your IDE, ONOS should be imported as a Maven project

 

In Eclipse, this amounts to:

 

  1. navigate to File > Import > Maven > Existing Maven Projects and 
  2. selecting the root directory of your source. 

 

 

 

Info

As ONOS is a multi-module project, it may appear as a collection of many (about 50 at the time of this writing) projects beginning with "onos-". This is normal for some IDEs such as Eclipse.

For a listing of the software modules that comprise ONOS, please refer to the Javadocs, or Appendix C of this Guide.

 

 

 

Tip
title"Plugin execution not covered ..." errors in Eclipse

If you're using Eclipse and see "Plugin execution not covered ..." errors about jacoco-maven-plugin and onos-maven-plugin after importing ONOS projects, follow these steps to eliminate those errors.

  1. Select one of "Plugin execution not covered..." error and select "Quick Fix"

    Expand

    Image Added

    Image Added

  2. Select "Mark the goal as ignored in Eclipse build in Eclipse preference" as the fix and "Finish" to apply the fix.

    Expand

    Image Added

  3. Select one of the ONOS related project to open the "Update Project" dialog, then "Select All" projects and update all the projects.

    Expand

    Image Added

    Image Added

    It may take a while for Eclipse to rebuild all the project after refreshing project configuration.

  4. By following the steps above, maven goal resolution errors for the same goal should disappear. (jacoco-maven-plugin). Repeat the same step for remaining goal error. (onos-maven-plugin)

    Expand

    Image Added

 

 

 

  1. Code Formatting

 

The formatting followed by the project are:

 

  1. Indentation using four spaces
  2. No trailing whitespaces, including in empty lines
  3. Spaces after keywords such as ifforwhile, and casts

 

The whitespace formatting, among other code styling, is enforced via Checkstyle, which is run against the code during each Maven build. The build will fail if formatting violations are found.

 

The full guidelines are found in the Code Style Guidelines.

 

 

Prior to contributing code to ONOS, all developers should set-up their IDE to appropriately tag the code with the Apache 2 license header text. The bare text is checked in under tools/dev/header.txt, and the original can be found at: 

 

http://www.apache.org/licenses/LICENSE-2.0.html 

 

  1. Example: Copyright setup on IntelliJ

 

First make sure that you have the Copyright plugin enabled. Then, under Preferences, select Copyright section and create a new Copyright profile, call it something like Apache 2, and prime it with the text above, without any decorations. Then configure your copyright formatting options as shown:

 

Image Added

 

  1. Example: Copyright setup on Eclipse

 

Configure the Comments for Files similar to the following. 
Remember to put a check on "Automatically add comments for new methods and types" to apply these templates on new files.  

 

Image Added


 

...

Home : Developer's Guide
Next : Test Environment Setup

...