# Mac
.DS_Store

# KDE
.directory

# Eclipse
.classpath
.project
.settings/
.externalToolBuilders/
maven-eclipse.xml
/src/main/cpp/kernels/.cproject

# Intellij
.idea/
.idea_modules/
*.iml
*.iws

# vscode
.vscode

# checksum files
*.crc

# Build artifacts
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
.metadata
.cache*

# Documentation artifacts
.jekyll-cache/
_site/

# Python artifacts
src/main/python/systemds/systemds-java/
src/main/python/systemds.egg-info/
src/main/python/build/
src/main/python/LICENSE
src/main/python/NOTICE
src/main/python/dist
src/main/python/docs/build
src/main/python/docs/source/_build
src/main/python/tests/onnx_systemds/output_test
src/main/python/tests/onnx_systemds/dml_output
src/main/python/tests/onnx_systemds/test_models/*.onnx

# User configuration files
conf/SystemDS-config.xml

# Documentation artifacts
docs/_site
# TODO Make the API auto generate and relocate into this api folder for webpage
# docs/api

# Test Artifacts
src/test/scripts/**/*.dmlt
src/test/scripts/functions/mlcontextin/
.factorypath

# Excluded sources
# (we're including the generated files to simply IDE setup w/o mvn build)
# Since the gitignore file does not ignore tracked files, the auto-generated
# parser files need to be ignored by the following command:
# git update-index --assume-unchanged [<file> ...]
# This can be undone by git update-index --no-assume-unchanged [<file> ...]
# Use the command above on these files:
# src/main/java/Dml.tokens
# src/main/java/DmlLexer.tokens
# src/main/java/org/apache/sysds/parser/dml/DmlBaseListener.java
# src/main/java/org/apache/sysds/parser/dml/DmlLexer.java
# src/main/java/org/apache/sysds/parser/dml/DmlListener.java
# src/main/java/org/apache/sysds/parser/dml/DmlParser.java

src/test/scripts/**/in
src/test/scripts/**/out
src/test/scripts/**/expected

# Working directory and scratch space
temp/*
scratch_space/

# Ruby
Gemfile.lock

# Python
**/__pycache__
*.pyc

# Spark
**/metastore_db
derby.log
/systemds/

# native cpp code build artifacts
src/main/cpp/build
src/main/cpp/bin

# legacy dml 
*.dmlt