Follow the steps below to set up the development environment on your client machine, and to establish credentials with which you may access the repositories.
...
set JAVA_HOME in ~/.bashrc | yum install java-1.8.0-openjdk-devel get it via alternatives --config javac currently export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-3.b12.el7_3.x86_64 | |||||
install git and development tools | yum install git yum groupinstall 'Development Tools' this will give you make and python | |||||
install npm (will also be installed automatically by the ecomp build) - TODO: UPDATE as ecomp is locked | ||||||
download and install Maven 3.6.3 create an ~/.m2 folder and copy our settings.xml there add maven to your path - check it with mvn --version | http://maven.apache.org/download.cgi tar -xvf apache-maven-3.6.3-bin.tar.gz | |||||
Add the following option to your MAVEN_OPTS in order not to periodically hang on downloading artifacts in linux | -Djava.net.preferIPv4Stack=true | |||||
enable IP4 forwarding to enable the RHEL VM to act as an edge router - without this docker containers cannot communicate | add to /etc/sysctl.conf | |||||
Install docker (required for some repos like dcae-inventory off dcae | 20190130
to install kubernetes follow Cloud Native Deployment#Scriptedundercloud(Helm/Kubernetes/Docker)andONAPinstall-SingleVM |
...
enable ubuntu desktop | apt-get update apt-get install ubuntu-desktop | |||||||
enable static IP | vi /etc/network/interfaces add iface enp0s25 inet static address 192.168.15.101 netmask 255.255.255.0 network 192.168.15.0 broadcast 192.168.15.255 gateway 192.168.15.1 dns-nameservers 8.8.4.4 | |||||||
disable strict host checking (client and server) |
| |||||||
Enable non CD repositories so an apt-get update will work | comment out the CD first line in /etc/apt/sources.list | |||||||
enable ssh if skipped during installation so we can remote ssh | sudo apt-get install openssh-server | |||||||
enable root login and gui (no sudo su -) | sudo passwd root sudo usermod -U root sudo reboot now sudo vi /etc/lightdm/lightdm.conf [SeatDefaults] greeter-session=unity-greeter user-session=ubuntu greeter-show-manual-login=true : enable root login vi /etc/ssh/sshd_config FROM: PermitRootLogin prohibit-password TO: PermitRootLogin yes systemctl restart sshd | |||||||
The 131 version of Java 8 is installed by default - currently running 151 set JAVA_HOME in ~/.bashrc or /etc/environment ubuntu@ubuntu:~$ echo $JAVA_HOME | if not sudo apt install openjdk-8-jdk | |||||||
install git and development tools | sudo apt-get install git | |||||||
install npm (will also be installed automatically by the ecomp build) | sudo apt install npm | |||||||
download and install Maven 3.5.0 create an ~/.m2 folder and copy our settings.xml there add maven to your path - check it with mvn --version | http://maven.apache.org/download.cgi tar -xvf apache-maven-3.5.0-bin.tar.gz or sudo apt install maven | |||||||
Add the following option to your MAVEN_OPTS in order not to periodically hang on downloading artifacts in linux | in /etc/environment -Djava.net.preferIPv4Stack=true | |||||||
Install docker (required when building docker images) | use the current as of 20180621 17.03 version in the script which is
|
...
Info |
---|
You should execute |
To do this, right-click on C:\Program Files (x86)\PuTTY\puttygen.exe
and select Run as Administrator:
...
The first issue is that the current ONAP master tagged versino version of the checkstyle does not work with Eclipse Oxygen/Photon (and maybe other versions) because of the "curly bracket" issue. There is a fix on the way but it's not here yet. The current tagged version of oparent we are using in Policy is 1.2.1.
...
- Preferences->Checkstyle
- Click "New"
- Select "External Configuration File"
- Give it a name eg ONAP
- Point at the file eg: /home/liam/git/onap<your_git_folder>/oparent/checkstyle/src/main/resources/onap-checkstyle/onap-java-style.xmlxml
(assuming you have downloaded the oparent repo) - Click OK
- Select "ONAP" configuration and click "Set as Default"
- Select "Apply and Close"
...
When you start your first IntelliJ project, you will need to specify the Java Software Development Kit (SDK) as the project's. If you do not have the Java SDK installed on your machine, you can download it from within IntelliJ by selecting Maven as the New Project type and clicking on "Download SDK": (Or, visit http://www.oracle.com/technetwork/java/javase/downloads/index.html).
Installing the Gerrit plugin in IntelliJ
Open File -> Settings -> Plugins of IntelliJ, and click on the Browse repositories... button.
In the new window, search for Gerrit, click Install to install the plugin, and finally restart IntelliJ.
To verify whether the Gerrit plugin is installed successfully, you can click File -> New -> Project from Version Control and verify whether Gerrit is present.
Configure ONAP checkstyle for IntelliJ
...
Install useful plugins
Install SonarLint to check for SonarQube violations and CheckStyle-IDEA to apply checkstyle code formatting
Configure ONAP code formatting checkstyle for IntelliJ
ONAP is using google java style as mentioned in ONAP java style. Import intellij-java-google-style.xml in intelliJ settings→code style→java and modify the following items,
...
Code Block | ||
---|---|---|
| ||
============LICENSE_START======================================================= Copyright (C) $today.year <organization name> ================================================================================ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. SPDX-License-Identifier: Apache-2.0 ============LICENSE_END========================================================= |
Set up SonarLint towards ONAP
To bind your projects to the ONAP Sonar server, follow the instructions below. Your projects should be imported in to Eclipse before this.
- Right click on the project and select "SonarLint -> Bind to SonarQube or SonarCloud...".
- Select "sonarcloud" and press "Next".
- Click "Generate Token"
- A browser opens and you are taken to a Sonarcloud login page
- Login with an appropriate account from the list presented, most likely your GitHub account
- You are now directed to a sonarcloud token generation page
- Enter a name for your token and click "Generate"
- Copy the token hex string that is generated from the browser and paste it into the "Token" field in Eclipse and click "Next"
- In the "Organization" field, enter the string "onap" and press "Next"
- The Connection name "SonarCloud/onap" should be found by the system, click "Next"
- The connection should be successfully created, click "Finish"
- Press "Add...".
- Select the projects you want to add and press "OK".
- Press "Next".
- Start typing the name of your project, and it should appear in a list box where it should be selected.
- Press "Finish".
Other Tools
The component you are working on may require additional tool installations, see the relevant section under Development Guides.
...