Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: remove some duplication, improve grammar

Table of Contents
maxLevel3

Setting

...

Up Your Development Environment

Start by following the page Setting Up Your Development Environment.

Downloading the Source Code

Creating Your Linux Foundation Account

If you already have a Linux Foundation account, you can skip this section.

You will need linux foundation account to submit code change to ONAP projects repos. If you only want to read the code, you can skip this step.

To create your this covers items such as signing up for a linux foundation account, go to Linux Foundation Identity page, and select I need to create a Linux Foundation ID, the following page will be shown:

Image Removed

Filling the information and click on Create new account to proceed account creation.configuring git, installing gerrit and IDE recommendations.

Downloading the Source Code

Downloading SDN-C Projects

...

Project NameProject Descriptionhas code
ccsdk/dashboardOpeations Manager Dashboard(tick)
ccsdk/distributionCCSDK distribution packaging (e.g. docker containers)(minus)
ccsdk/parentParent POMs to be used by CCSDK clients(minus)
ccsdk/platform/blueprintsBlueprints. not in Amesterdam release(minus)
 ccsdk/platform/nbapiNorthbound API(tick)
 ccsdk/platform/pluginsPlatform plugins(tick)
 ccsdk/sli/adaptorsCommon adaptors for use by directed graphs(tick)
ccsdk/sli/coreCore Service Logic Interpreter classes(tick)
 ccsdk/sli/northboundCommon northbound APIS related to service logic interpreter(tick)
 ccsdk/sli/pluginsCommon plugins used by direcged graphs (tick) python
ccsdk/storage/esaasElastic Storage as a Service.  not in Amesterdam release(minus)
ccsdk/storage/pgaasPGAAS (PostgreSQL as a Service)(tick) java, python, bash
ccsdk/utilsUtilities(tick) bash, yaml

Anchor
Get git clone command from ONAP gerrit
Get git clone command from ONAP gerrit
Get git clone Command from ONAP gerrit

The below instructions explain how to clone a repository from gerrit with the commit message hook included and it will be configured to use HTTPS. SSH is still the recommended protocol, these instructions serve as a workaround for users behind restrictive networking rules.

If you have worked on other projects in gerrit and are already familiar with cloning from gerrit you can ignore these instructions!

Info
titleCheck this only once

This should have been done as part of IDE setting up following "Setting Up Your Development Environment. Just in case you have missed it" and is only needed if you are behind a proxy and plan to use HTTP.

If behind proxy, ensure git config has set http.proxy and https.proxy NVPs,

check with the following command:

git config -l

if not no http/https proxies exist add the them with the following commands:

git config --add http.proxy <your-proxy-http-url>

git config --add https.proxy <your-proxy-https-url>

here's an example:

git config --add http.proxy http://<user-id>:<password>@11234.proxy.com:8080

git config --add https.proxy https://<user-id>:<password>@11234.proxy.com:8080

...

Following instruction from Maven Example settings.xml section of Setting Up Your Development Environment page to get your settingsettings.xml file.

Info
titleJust to emphasis

If behind proxy,
Add proxy definition under proxies block, if under proxy Collapse source

1
2
3
4
5
6
7
8

<proxy>
  <id>optional</id>
  <active>true</active>
  <protocol>http</protocol>
  <host>11234.proxy.com</host>
  <port>8080</port>
  <nonProxyHosts>local.net|localhost|127.0.0.1</nonProxyHosts>
</proxy>

Configure settings file in IntelliJ

If you are going to do compiling in your compile with intelliJ, follow steps in this section to configure settings.xml file in your interlliJintelliJ.

If you did not make your Maven Project by default shown, do the following:

In your interlliJintelliJ, Select View -> Tool Windows -> Maven Project

...

The maven project will shown on the right side of your the intelliJ window.

 Click the Maven Settings wrench to bring up the Settings window:

Select the Override of the User settings file, add the settings.xml file full path, the Apply button will be enabled. click on Apply to apply the change.

...

Projects Build Order

The SDN-C projects repos repositories should be built in the following order:

...

mvn clean install -s <the settings.xml file with full path>

Build Within

...

IntelliJ

From interlliJ intelliJ Maven Projects window, find the module marked with (root), expand it by clicking on the triange triangle on the left side or double clicking the text. It will then show two folders : Lifecycle and Plugins. Use the same way to expand the Lifecycle folder, the build options are now shown:

...

To run the build, double click the Install or select install and then click on the Run Maven Build triange  triangle icon.

To do clean, double click the clean or select clean and then click on the Run Maven Build triange  triangle icon.

Tips

Skip Maven Javadoc Build

...

When Create New Test... is selected, the Create Test window will be brough brought up:

The test Class name is automatically generated and shown in the window. Ensure the Testing library is selected with JUnit4.

...

If the Junit and mockito dependencies are not in the module and its parent pom file, add them to the module's pom.xml file as the following. A sample snippet is below:

Info
iconfalse
titleJUnit dependencies in POM file
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>

Mock Class Level Attributes

...

To commit code to ONAP, you must have git-review installed. The steps in this section only need to be done one time, except the Tips (smile). This should have been done already during Setting Up Your Development Environment.

On Linux

run the following command to check if git-review is installed as part of your OS image.

...

  • download the Git for Windows installer
  • start installer and follow Git Setup wizard screen Next until Finish prompts to complete the installation.

must have python installed

...

GIT Config KeyExpected ValueSetting Command
core.eollfgit config --global core.eol lf

core.autocrlf

truegit config --global core.autocrlf true
user.nameyour namegit config --global user.name <your name>
user.emailyour email addressgit config --global user.email <your email address>


Anchor
Create A Review
Create A Review
Creating A Review

...

StepsCommandNotes
1git commit -sam <comment summary>Commit summary should not exceed 50 char. See ONAP Commit Messages for more details.
2git log --shortstat

To ensure change lines are properly done and your commit has the following:

    • Change-Id
    • Signed-off-by

Here's an example:

Info
iconfalse
titlegit log --shortstat

C:\workspace\onap_sdnc\northbound>git log --shortstat
commit 4728eada855f9162030f5b46a2513e3dbffa757c
Author: beili.zhou <beili.zhou@amdocs.com>
Date: Fri Oct 13 19:19:11 2017 -0400

Sonar coverage vnfapi -VNFSDNSvcLogicServiceClient

Add Junit test case for VNFSDNSvcLogicServiceClient
In VNFSDNSvcLogicServiceClient:
- Fix sonarlint issues (remove un-used import and etc)
- Changed tab to 4 spaces as per ONAP Java code style

Issue-Id: SDNC-123
Change-Id: Id176e915f17ef5fabc6805415f92d60b4c8e95b2
Signed-off-by: beili.zhou <beili.zhou@amdocs.com>

2 files changed, 580 insertions(+), 240 deletions(-)


If the Change-Id does not exist, do not proceed. You need to following Fix no change-id to fix it before proceeding further.

3git commit --amend

Use this command to do the following:

    • add more desciption about this commit (refer to Commit Messages for how to organize commit description)
    • insert Issue-Id: <your ONAP issue id> before the Change-Id
4git review

This command will create the review at Gerrit.

Once this command is completed, your newly created review can be found from Outgoing reviews in Gerrit self dashboard .

...

[3] ONAP SDC setup: Using Vagrant-Onap for local deployment of SDC project - WIP!!!#OnapforlocaldeploymentofSDCproject-WIP!!!-InitialSetup

[4] Virtualbox Download link: https://www.virtualbox.org/wiki/Linux_Downloads

...