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:
...
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 |
|
...
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 | |||||||
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
|
...
Expand | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
As per https://gerrit.onap.org/r/#/c/79312/1/onap-java-formatter.xml, an ONAP Eclipse Java Formatter XML file has been merged and can be imported into Eclipse. Updates to the settings should be committed and merged back into the repository (e.g.
Maven Plugins to Reformat Java codeUsing the Eclipse Formatter file above and maven plugin configuration in pom.xml as per https://gerrit.onap.org/r/#/c/79312/1/pom.xml (https://code.revelc.net/formatter-maven-plugin/ for Eclipse formatter and https://github.com/diffplug/spotless/tree/master/plugin-maven for import order)
the combination can be used in a maven command to rewrite code and imports, then checkstyle audit like so
|
Modify settings to adapt to ONAP
- Select "Window -> Preferences".
- In the filter text box, type "tab".
- Under "Editors -> Text Editors", set "Displayed tab width:" to 4.
- Under "Editors -> Text Editors", activate "Insert spaces for tabs".
- If you want a visual aid for the print margin, under "Editors -> Text Editors", activate "Show print margin" and set "Print margin column:" to 120.
- Under "XML -> XML Files -> Editor", change to "Indent using spaces".
- Clear the filter text box and type"format".
- Under "Java -> Code Style Formatter", for "Active profile:" select GoogleStyle.
- Press the "Edit..." button.
- Expand the "Indentation" section.
- Select "Spaces only" for "Tab policy", and "4" for "Indentation size".
- Expand the "Line Wrapping" section.
- Set "Maximum line width:" to "120", and press "Apply".
- Expand the "Comments" section.
- Set "Maximum width for comments:" to "120"
- Unset "Count width from comment's starting position"
- Unset "Enable header comment formatting", and press "Apply" and then "OK"
- Clear the filter text box and type "save actions".
- Under "Java -> Editor -> Save Actions", check the "Perform the selected actions on save", and "Additional actions" check boxes.
- Press the "Configure..." button.
- On the "Code Organizing" tab in the "Formatter" box, check the "Remove trailing whitespace" check box.
- Press "OK".
- Select "Java -> Editor -> Content Assist -> Favorites".
- For each of the types below, press "New Type..." and type in the type and press "OK".
org.junit.Assert
org.junit.Assume
org.junit.jupiter.api.Assert
org.junit.jupiter.api.Assumptions
org.junit.jupiter.api.DynamicContainer
org.junit.jupiter.api.DynamicTest
org.mockito.ArgumentMatchers
org.mockito.Mock
org.mockito.Mockito - Select "Java -Code Style -> Organize Imports".
- Remove all items from the list.
- Press "Apply and Close".
...
Install useful plugins
Install EclEmma for code coverage, and SonarLint for static code analysis.
...