# Target dir in all projects
**/target/*
**/target-ide/*

# Logs dir in all projects
**/logs/*
**/debug-logs/*
sdnr/northbound/ranSlice/provider/derby.log

# Added for Intellij IDEA IDE
**/.idea/*

# Generated models and features
**/bin/*

# Added for vs code
.vscode

# MANIFEST.MF is updated on every clean install
**/src/main/resources/META-INF/
**/src/main/yang-gen-sal
**/src/main/yang-gen-config


**/pom.xml.versionsBackup
**/.fbExcludeFilterFile
**/.flattened-pom.xml
**/.pydevproject
**/.checkstyle
**/.classpath
**/.settings
**/.project

**/*.class
**/*.prefs
**/*.iml

direct-dependencies.txt
.factorypath
