4. Developer Tools¶
This chapter describes the development ecosystem generally used to create new modules.
- 4.1. Working with Git as a user
- 4.1.1. ns-3’s Git workflow in a nutshell
- 4.1.2. Setup of a personal repository
- 4.1.3. Add the official ns-3 repository as remote upstream
- 4.1.4. Add your forked repository as remote
- 4.1.5. Keep in sync your repository with latest ns-3-dev updates
- 4.1.6. Start a new branch to do some work
- 4.1.7. Edit and commit the modifications
- 4.1.8. Rebase your branch on top of master
- 4.1.9. Pushing your changes to origin
- 4.1.10. Submit work for review
- 4.1.11. Porting patches from mercurial repositories to Git
- 4.2. Working with Git as a maintainer
- 4.3. Working with CMake
- 4.4. Logging
- 4.5. Tests
- 4.6. Creating a new ns-3 model
- 4.7. Adding a New Module to ns-3
- 4.7.1. Step 0 - Module Layout
- 4.7.2. Step 1 - Create a Module Skeleton
- 4.7.3. Step 3 - Declare Source Files
- 4.7.4. Step 4 - Declare Public Header Files
- 4.7.5. Step 5 - Declare Tests
- 4.7.6. Step 6 - Declare Examples
- 4.7.7. Step 7 - Examples Run as Tests
- 4.7.8. Step 8 - Configure and Build
- 4.7.9. Step 9 - Python Bindings
- 4.8. Creating Documentation
- 4.9. Profiling
- 4.10. Working with gitlab-ci-local
- 4.11. Working with Docker