You can build most of the projects directly in IntelliJ - but everything can be built using a root pom.xml example (docker is required for dcae-inventory). Ideally we would all run a standardized vagrant development environment (running the same versions of grunt/node/npn/bower, jdk etc).
Setup your environment first (OSX, RHEL, Ubuntu or Windows) - Setting Up Your Development Environment
The git checkout script has been updated to reflect all the repos (minus the deprecated dcae and mso) in ONAP as of 20170831 - https://github.com/obrienlabs/onap-root
Warnings
Pending requests
- COMMON-17Getting issue details... STATUS
- COMMON-18Getting issue details... STATUS
- PORTAL-8Getting issue details... STATUS
merge/defer-to - INT-5Getting issue details... STATUS
Procedure using git-repo
(Thanks David Bainbridge)
https://gerrit.googlesource.com/git-repo
git clone https://gerrit.googlesource.com/git-repo
see https://source.android.com/setup/downloading
mkdir ~/bin PATH=~/bin:$PATH curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo chmod a+x ~/bin/repo mkdir onap cd onap # currently updating my own with no dcae, mso, aai-service - they are deprecated repo init -u https://github.com/obrienlabs/onap-root/tree/master/onap-manifest repo sync -q --no-clone-bundle # will post updated pom.xml shortly after I finish testing it
Procedure - deprecated
- create a root directory like "onap"
- copy the sh script there
- run the sh script
- notice the directory structure with embedded repos
- copy the root pom.xml
- maven build with the root pom
- there will be a couple projects that may not build due to your settings.xml repos, the state of a couple of the projects, whether you have docker running - see the developer pages to make sure you are setup
ONAP Developer Checklist
Setting Up Your Development Environment
Clone/pull all repos sh script
This script serves 3 purposes
1) ssh clone all ONAP repos (those of us with unrestricted internet access)
2) https clone all the ONAP repos (for those behind a fireall)
3) pull all repos - refreshing them in a close to an atomic pull as possible.
4) we currently cannot use an automated script around the following because a 1.0/1.1 filter/metadata is missing - also the directory structure differs for repos (some have a root repo, others are parent-less peers)
https:
//gerrit.onap.org/r/projects/?format=text
Use:
pass in the command clone|pull and your onap gerrit id (note oam repo is the largest at 0.8Gb transferred at 6Mb/sec)
./git_recurse.sh clone <your_gerrit_username> clone by https for those behind a firewall ./git_recurse.sh clone_https michaelobrien uHaBPMvR47mocSbB3YnK56EB1RR3Keer6vatj5555555555 to refresh project within a 5 min window TODO: checkout branch and merge master into branch |
---|
Todo: move to private branch or JIRA to be under source control - - COMMON-18Getting issue details... STATUS
For now on https://github.com/obrienlabs/onap-root
Root pom.xml
version 1.1.2-SNAPSHOT
Place this pom.xml at the root of where you ran the git_recurse.sh (on top of all the repos) - it expects the same directory structure as setup in gerrit.
This is a root reactor pom.xml that can be used to build all or parts of onap
Some repos like dcae-inventory will require docker installed to build the images.
for speed build with all 5 repos in (~.m2/settings.xml) and the maven options below (no tests and no test compilation) - and try to get a 8-12 thread machine and most importantly a fast SSD - or use a Mac.
obrienbiometrics:core michaelobrien$ mvn clean install -U -DskipTests=true -Dmaven.test.skip=true -Dmaven.javadoc.skip=true -Dadditionalparam=-Xdoclint:none |
---|
https://github.com/obrienlabs/onap-root
Known Issues in progress
Last run 20170614
Try to develop in OSX - it has the least issues when building ONAP in its entirety.
There are issues with some of the projects (primarily in windows - like DCAE attempting to reinstall npn) - these may be due to the fact I am still ramping up on ONAP and have not done a full in-depth review of each project. Where available I have commented on the reason why a particular project is failing its local build (all should build fine in CI). Some compile issues were recently fixed since May 12th when I started building ONAP.
Some builds are only meant for deployment (a result of uisng mvn install) like appc - you may want to comment this one unless you are modifying it (run off artifacts).
replace /Users/michaelobrien/wse_onap/onap7/appc/deployment/installation/appc/target/docker-stage/opt/openecomp/appc/svclogic/graphs/appc/graph.versions? [y]es, [n]o, [A]ll, [N]one, [r]ename: error: invalid response [{ENTER}] |
---|
Snapshots
20170812
[INFO] Reactor Build Order: [INFO] [INFO] aai-common [INFO] aai-annotations [INFO] aai-schema [INFO] aai-core [INFO] aai-auth [INFO] champ [INFO] aai [INFO] aai-schema [INFO] annotations [INFO] ajsc [INFO] REST Client [INFO] Core Data Router Components [INFO] data-router [INFO] Common Logging Library [INFO] Common Logging API [INFO] EELF Logging Implementation [INFO] Common Logging Distribution [INFO] model-loader [INFO] search-data-service [INFO] sparky-be [INFO] Sparky FE [INFO] traversal [INFO] aai-traversal [INFO] Parent PON : ODL project, Boron SR3 [INFO] Parent POM : ODL project, Carbon SR1 [INFO] Parent POMs [INFO] oparent/version [INFO] oparent/checkstyle [INFO] oparent/license [INFO] oparent [INFO] Policy Engine - Common Modules [INFO] ONAP-Logging [INFO] Integrity Monitor [INFO] Integrity Audit [INFO] Policy Engine - Policy Engine Suite [INFO] PolicyEngineUtils [INFO] ONAP-XACML [INFO] PolicyEngineAPI [INFO] asdc [INFO] ControlloopPolicy [INFO] ONAP CLAMP [INFO] cli [INFO] cli/framework [INFO] cli/plugins [INFO] cli/plugins/msb [INFO] cli/main [INFO] cli/deployment [INFO] cli/deployment/zip [INFO] cli/deployment/docker [INFO] DCAE Analytics Framework [INFO] DCAE Analytics Test [INFO] DCAE Analytics Model [INFO] DCAE Analytics Common [INFO] DCAE Analytics DMaaP [INFO] DCAE Analytics TCA [INFO] VESCollector [INFO] ncomp-utils-java [INFO] ncomp-utils-journaling [INFO] ncomp-core-types [INFO] ncomp-maven-xcore [INFO] ncomp-core-model [INFO] ncomp-sirius-manager-model [INFO] ncomp-cdap-model [INFO] ncomp-sirius-manager-agent-model [INFO] ncomp-sirius-manager-drools [INFO] ncomp-maven-base [INFO] operation-utils [INFO] ncomp-utils-java-extra [INFO] ncomp-sirius-manager-server [INFO] ncomp-openstack-model [INFO] dcae-controller-core-model [INFO] dcae-controller-service-vm-model [INFO] dcae-controller-service-cdap-cluster-model [INFO] dcae-controller-service-cdap-model [INFO] dcae-analytics-cdap-common-model [INFO] dcae-controller-analytics [INFO] dcae-controller-core-utils [INFO] ncomp-sirius-manager-console [INFO] dcae-controller-platform-model [INFO] dcae-controller-operation-utils [INFO] ncomp-sirius-manager-generator [INFO] ncomp-sirius-manager-base [INFO] ncomp-openstack-controller [INFO] dcae-controller-service-vm-adaptor [INFO] ncomp-cdap-adaptor [INFO] dcae-controller-service-cdap-cluster-manager [INFO] ncomp-sirius-manager-agent-server [INFO] dcae-controller-service-cdap-adaptor [INFO] ncomp-docker-model [INFO] dcae-controller-service-docker-host-model [INFO] dcae-controller-service-docker-model [INFO] ncomp-docker-adaptor [INFO] dcae-controller-service-docker-host-manager [INFO] dcae-controller-service-docker-adaptor [INFO] dcae-controller-platform-server [INFO] dcae-controller-core [INFO] dcae-controller-service-dmaap-drsub-model [INFO] dcae-controller-service-dmaap-drsub-manager [INFO] dcae-controller-service-dmaap-drsub [INFO] dcae-controller-service-cdap-cluster [INFO] dcae-controller-service-cdap [INFO] dcae-controller-service-docker-host [INFO] dcae-controller-service-common-docker-model [INFO] dcae-controller-service-common-docker-manager [INFO] dcae-controller-service-common-docker [INFO] dcae-controller-service-docker [INFO] dcae-controller-service-common-vm-model [INFO] dcae-controller-service-common-vm-manager [INFO] dcae-controller-service-common-vm [INFO] dcae-controller-service-vm [INFO] dcae-inventory [INFO] dcae-demo-controller [INFO] dcae-demo [INFO] dcae_dmaapbc [INFO] dcae-operation-utils [INFO] ECOMP Portal SDK Project (parent) [INFO] ECOMP Portal SDK Framework [INFO] ECOMP Portal SDK Core [INFO] ECOMP Portal SDK Analytics [INFO] ECOMP Portal SDK Workflow [INFO] ECOMP Portal SDK Webapp Common Classes [INFO] ECOMP Portal SDK Webapp Overlay Files [INFO] ECOMP SDK Webapp for OpenSource [INFO] MSO main project [INFO] MSO Common classes [INFO] API Handler [INFO] mso-requests-db [INFO] mso-catalog-db [INFO] ECOMP MSO API Handler common [INFO] MSO Status Control module [INFO] mso-api-handler-infra [INFO] MSO Adapters [INFO] mso-adapter-utils [INFO] mso-adapters-rest-interface [INFO] mso-network-adapter-async-client [INFO] mso-network-adapter [INFO] mso-sdnc-adapter [INFO] mso-tenant-adapter [INFO] mso-vnf-adapter-async-client [INFO] mso-vnf-adapter [INFO] mso-requests-db-adapter [INFO] mso-catalog-db-adapter [INFO] mso-workflow-message-adapter [INFO] asdc-controller [INFO] BPMN Subsystem [INFO] MSOCoreBPMN [INFO] MSOMockServer [INFO] MSO REST Client API [INFO] MSOCommonBPMN [INFO] MSOInfrastructureBPMN [INFO] MSO URN Mapping Cockpit Plugin [INFO] MSOCockpit [INFO] MSO Packages [INFO] MsoDeliveries [INFO] ncomp-cdap [INFO] ncomp-core-tools [INFO] ncomp-core [INFO] ncomp-docker [INFO] ncomp-maven [INFO] ncomp-openstack [INFO] ncomp-sirius-manager-camunda [INFO] ncomp-sirius-manager [INFO] ncomp-utils [INFO] site-manager [INFO] Policy Engine - Docker build [INFO] Policy Engine - Drools PDP Application Models [INFO] controlloop [INFO] common [INFO] model-impl [INFO] sdc [INFO] rest [INFO] aai [INFO] policy-yaml [INFO] actors [INFO] actorServiceProvider [INFO] appc [INFO] events [INFO] actor.appc [INFO] actor.mso [INFO] actor.test [INFO] guard [INFO] eventmanager [INFO] mso [INFO] trafficgenerator [INFO] templates [INFO] template.demo [INFO] template.demo.v1.0.0 [INFO] archetype-closed-loop-demo-rules [INFO] demo [INFO] PDP-D Application Installation Packages [INFO] PDP-D APPS Base Package [INFO] Artifacts for PDP-D Applications [INFO] PDP-D APPS Installation Package [INFO] Policy Engine - Drools PDP [INFO] policy-utils [INFO] policy-core [INFO] policy-endpoints [INFO] policy-management [INFO] feature-healthcheck [INFO] feature-eelf [INFO] Policy Packages [INFO] Base Package [INFO] Installation Package [INFO] ONAP-REST [INFO] ONAP-PDP [INFO] ONAP-PDP-REST [INFO] ONAP-PAP-REST [INFO] LogParser [INFO] PolicyEngineClient [INFO] BRMSGateway [INFO] POLICY-SDK-APP [INFO] ONAP-SDK-APP [INFO] Policy Packages [INFO] Base Package [INFO] Installation Package [INFO] ecompportal-be-common [INFO] ecompportal-be-os [INFO] ecompportal-be-common-test [INFO] ecompportal-FE-os [INFO] ecompportal-parent-project [INFO] security-utils [INFO] common-app-api [INFO] common-be [INFO] catalog-dao [INFO] catalog-model [INFO] catalog-be [INFO] asdctool [INFO] catalog-ui [INFO] catalog-fe [INFO] asdc-tests [INFO] openecomp-sdc [INFO] openecomp-sdc-lib [INFO] openecomp-logging-lib [INFO] openecomp-sdc-logging-api [INFO] openecomp-sdc-logging-core [INFO] openecomp-core-lib [INFO] openecomp-utilities-lib [INFO] openecomp-sdc-datatypes-lib [INFO] openecomp-common-lib [INFO] openecomp-sdc-api [INFO] openecomp-sdc-rest-webapp [INFO] openecomp-sdc-common-rest [INFO] openecomp-facade-api [INFO] openecomp-facade-core [INFO] openecomp-nosqldb-api [INFO] openecomp-nosqldb-core [INFO] openecomp-sdc-versioning-api [INFO] openecomp-zusammen-lib [INFO] openecomp-zusammen-api [INFO] openecomp-zusammen-plugin [INFO] openecomp-zusammen-core [INFO] openecomp-sdc-versioning-core [INFO] openecomp-sdc-vendor-license-api [INFO] openecomp-sdc-vendor-license-core [INFO] openecomp-sdc-validation-api [INFO] openecomp-heat-lib [INFO] openecomp-sdc-validation-sdk [INFO] openecomp-sdc-validation-core [INFO] openecomp-tosca-lib [INFO] openecomp-sdc-translator-api [INFO] openecomp-sdc-validation-impl [INFO] openecomp-sdc-translator-core [INFO] openecomp-sdc-enrichment-api [INFO] openecomp-sdc-model-api [INFO] openecomp-sdc-model-core [INFO] openecomp-config-lib [INFO] openecomp-sdc-vendor-software-product-lib [INFO] openecomp-sdc-vendor-software-product-api [INFO] openecomp-sdc-model-impl [INFO] openecomp-sdc-tosca-generator-api [INFO] openecomp-sdc-vendor-software-product-core [INFO] openecomp-sdc-enrichment-impl [INFO] openecomp-sdc-enrichment-core [INFO] backend [INFO] openecomp-sdc-validation-manager [INFO] openecomp-healing-lib [INFO] openecomp-sdc-healing-api [INFO] openecomp-sdc-healing-core [INFO] openecomp-sdc-healing-impl [INFO] openecomp-sdc-activity-log-lib [INFO] openecomp-sdc-activity-log-api [INFO] openecomp-sdc-activity-log-core [INFO] activity-log-rest [INFO] activity-log-rest-types [INFO] openecomp-sdc-activity-log-manager [INFO] openecomp-sdc-tosca-generator-core [INFO] openecomp-sdc-vendor-software-product-manager [INFO] openecomp-sdc-vendor-license-manager [INFO] vendor-license-rest [INFO] vendor-license-rest-types [INFO] vendor-license-rest-services [INFO] activity-log-rest-services [INFO] vendor-software-products-rest [INFO] vendor-software-products-rest-types [INFO] vendor-software-products-rest-services [INFO] validation-rest [INFO] validation-rest-types [INFO] validation-rest-services [INFO] openecomp-sdc-healthcheck-manager [INFO] healthcheck-rest [INFO] healthcheck-rest-types [INFO] healthcheck-rest-services [INFO] openecomp-sdc-application-config-manager [INFO] application-config-rest [INFO] application-config-rest-types [INFO] application-config-rest-services [INFO] openecomp-sdc-action-lib [INFO] openecomp-sdc-action-api [INFO] action-library-rest [INFO] action-library-rest-types [INFO] openecomp-sdc-action-core [INFO] openecomp-sdc-action-manager [INFO] action-library-rest-services [INFO] onboarding-rest-war [INFO] sequence-rest [INFO] openecomp-facade-lib [INFO] openecomp-nosqldb-lib [INFO] openecomp-sdc-versioning-lib [INFO] openecomp-sdc-tosca-generator-lib [INFO] openecomp-sdc-vendor-license-lib [INFO] openecomp-sdc-translator-sdk [INFO] openecomp-sdc-translator-impl [INFO] att-sdc-translator-impl [INFO] openecomp-sdc-translator-lib [INFO] openecomp-sdc-model-lib [INFO] att-sdc-validation-impl [INFO] openecomp-sdc-validation-lib [INFO] openecomp-sdc-enrichment-lib [INFO] openecomp-sdc-configuration [INFO] api-docs [INFO] openecomp-zusammen-migration [INFO] openecomp-zusammen-tools [INFO] sdc-os-chef [INFO] jtosca [INFO] SDC Tosca Parser [INFO] sdc-main-distribution-client [INFO] SDC Distribution Client [INFO] SdcDistributionCI [INFO] openecomp-common-lib [INFO] openecomp-logging-lib [INFO] openecomp-logging-api [INFO] openecomp-logging-core [INFO] openecomp-sdc-artifact-generator-api [INFO] openecomp-sdc-artifact-generator-core [INFO] openecomp-sdc-artifact-generator-lib [INFO] SDNC Root - Boron SR1 [INFO] SDN-C Adaptors [INFO] AAI Interface Service [INFO] AAI Interface Service - Provider [INFO] AAI Interface Service - Features [INFO] AAI Adaptor - Karaf Installer [INFO] MD-SAL Resource Adaptor [INFO] MD-SAL Resource Adaptor - Provider [INFO] MD-SAL Resource Adaptor - Features [INFO] MDSAL Resource - Karaf Installer [INFO] Resource Assignment Adaptor [INFO] Resource Assignment Adaptor - Provider [INFO] Resource Assignment Adaptor - Features [INFO] Resource allocator- Karaf Installer [INFO] Sql Resource Adaptor [INFO] Sql Resource Adaptor - Provider [INFO] Sql Resource Adaptor - Features [INFO] SQL Resource - Karaf Installer [INFO] SDNC Root - original [INFO] SDNC Root - Boron SR3 [INFO] SDNC Root [INFO] SDN-C Core Components [INFO] DBLIB Adaptor [INFO] DBLIB Adaptor - Provider [INFO] DBLIB Adaptor - Features [INFO] DBLIB Adaptor - Karaf Installer [INFO] Service Logic Interpreter [INFO] SLI - Common Classes [INFO] SLI - Provider [INFO] SLI - Recording [INFO] SLI - Features [INFO] SLI - Karaf Installer [INFO] Filters [INFO] Filters - Provider [INFO] Filters - Features [INFO] Filters - Karaf Installer [INFO] Service Logic Interface Plugin Utilities [INFO] SliPluginUtils Plugin - Provider [INFO] SliPluginUtils Plugin - Features [INFO] SLI Plugin Utilities - Karaf Installer [INFO] sliapi [INFO] sliapi-model [INFO] sliapi-provider [INFO] sliapi-features [INFO] sliapi-installer [INFO] SDN-C Northbound APIs [INFO] asdcApi [INFO] asdcApi-model [INFO] asdcApi-provider [INFO] asdcApi-features [INFO] asdcApi - Karaf Installer [INFO] dataChange [INFO] dataChange-model [INFO] dataChange-provider [INFO] dataChange-features [INFO] dataChange - Karaf Installer [INFO] DMAAP Listener [INFO] UEB Listener [INFO] vnfapi [INFO] vnfapi-model [INFO] vnfapi-provider [INFO] vnfapi-features [INFO] VNF API - Karaf Installer [INFO] VNF Tools Plugin [INFO] VNF Tools Plugin - Provider [INFO] VNF tools Plugin - Features [INFO] VNF Tools Plugin - Karaf Installer [INFO] SDN-C OAM [INFO] Admin Portal [INFO] Directed Graph Builder [INFO] Platform Logic [INFO] Platform Logic : ASDC-API [INFO] Platform Logic : SLI-API [INFO] Platform Logic : VNF-API [INFO] Platform Logic Installer [INFO] SDN-C Java Plugins [INFO] Properties Node [INFO] Properties Node - Provider [INFO] Properties Node - Features [INFO] Properties node - Karaf Installer [INFO] RESTAPI Call Node [INFO] RESTAPI Call Node - Provider [INFO] RESTAPI Call Node - Features [INFO] Properties node - Karaf Installer [INFO] MSO main project [INFO] MSO Common classes [INFO] API Handler [INFO] mso-requests-db [INFO] mso-catalog-db [INFO] ECOMP MSO API Handler common [INFO] MSO Status Control module [INFO] mso-api-handler-infra [INFO] MSO Adapters [INFO] mso-adapter-utils [INFO] mso-adapters-rest-interface [INFO] mso-network-adapter-async-client [INFO] mso-network-adapter [INFO] mso-sdnc-adapter [INFO] mso-tenant-adapter [INFO] mso-vnf-adapter-async-client [INFO] mso-vnf-adapter [INFO] mso-requests-db-adapter [INFO] mso-catalog-db-adapter [INFO] mso-workflow-message-adapter [INFO] asdc-controller [INFO] BPMN Subsystem [INFO] MSOCoreBPMN [INFO] MSOMockServer [INFO] MSO REST Client API [INFO] MSOCommonBPMN [INFO] MSOInfrastructureBPMN [INFO] MSO URN Mapping Cockpit Plugin [INFO] MSOCockpit [INFO] MSO Packages [INFO] MsoDeliveries [INFO] DCAE DMaaP Bus Controller Webapp Common Java Files [INFO] DCAE DMaaP Bus Controller Webapp Common Web Files [INFO] DCAE DMaaP Bus Controller Webapp for ONAP [INFO] DCAE DMaaP Bus Controller Webapp projects (parent) [INFO] DCAE DMaaP Bus Controller Webapp [INFO] VID Common [INFO] ECOMP SDK Webapp for OpenSource [INFO] VID Parent Project [INFO] onap.root |