.project
.classpath
.settings
.factorypath
.agents
build
target
release.properties
pom.xml.releaseBackup
**/graphify-out
*.iml
.idea
.junie
bin
*.class
*.jar
*.war
*.ear
.DS_Store
routes.yml
*.tgf
.vscode
*.swp

rebel.xml
rebel-remote.xml
out/
logs/
.directory
\.attach*
Pipeline Run Configuration/
Workflow Run Configuration/
Hop Server/
Relational Database Connection/
\.temp-beam-*/
integration-tests/surefire-reports
integration-tests/surefire-reports/spreadsheet/exelwriter-testfile.xlsx
**/*.json.old
yarn-error.log
integration-tests/scripts/*.json

docs/content
docs/public
docs/resources
docs/node_modules
docs/.pnp
docs/.pnp.js
tmp/images

# Output folders written by the hop_server remote-execution tests (main-0007, main-0015)
integration-tests/hop_server/output-*/
integration-tests/mail/output/
integration-tests/ftp/output/
# Generated spreadsheet writer outputs (under files/ historically; now also under output/)
integration-tests/spreadsheet/files/exel-part-001.xlsx
integration-tests/spreadsheet/files/exel-part-002.xlsx
integration-tests/spreadsheet/files/exel-header-test.xlsx
integration-tests/spreadsheet/files/exelwriter-testfile.xls
integration-tests/spreadsheet/files/exel-multi-part_0.xlsx
integration-tests/spreadsheet/files/exel-multi-part_1.xlsx
integration-tests/spreadsheet/files/exel-multi-part_2.xlsx
integration-tests/spreadsheet/files/exel-multi-part_3.xlsx
integration-tests/spreadsheet/files/exel-multi-part_4.xlsx
/integration-tests/spreadsheet/files/exelwriter-testfile
integration-tests/spreadsheet/output/
integration-tests/json/output
integration-tests/mdi/files/excelwriter-mdi-test.xlsx
integration-tests/mdi/files/jsonoutput-mdi-test_0.json
integration-tests/mdi/output/
integration-tests/http/files/http-action-output
integration-tests/http/output/
# SFTP tests download and move files into output/ while they run
integration-tests/sftp/output/
# The PGP tests build a throwaway keyring and the files they sign under output/
integration-tests/pgp/output/
integration-tests/lint/output/
# hop-import writes each test's imported project, and 0005 its hop-run log, under output/
integration-tests/import/output/
integration-tests/spreadsheet/files/sample-file-append.xlsx
integration-tests/spreadsheet/files/sample-file-append-test.xlsx
integration-tests/spark-native/output
integration-tests/transforms/files/parquet-test*.parquet
# MDI may still leave injected pipelines in the project root on older paths
integration-tests/mdi/*-injected.hpl

assemblies/debug/audit

# Monaco Editor files are downloaded at build time (see rap/pom.xml)
rap/src/main/resources/org/apache/hop/ui/hopgui/monaco/vs/
rap/src/main/resources/org/apache/hop/ui/hopgui/monaco/monaco-files.list

# Screenshots captured by SWTbot
screenshots/

# Docker script leaving audit data
docker/local-data/
/docker/marketplace-nexus/.env

# Jenkins-style local deploy output (verify-ci-snapshot-zips.sh)
local-snapshots-dir/

# GCP service-account key staged for the integration tests (Jenkins credentials gcp-access-hop)
google-key-apache-hop-it.json

# The SFTP provider test suite needs a *directory* literally named subdir4.jar
# (it checks a folder ending in .jar isn't treated as a layered file system).
# Without this the *.jar rule above silently keeps it out of the commit.
!plugins/tech/sftp/src/test/resources/test-data/read-tests/dir1/subdir4.jar/

# Hop writes its HOP_CONFIG_FOLDER content into the current working directory when
# that variable isn't set, so running unit tests drops a config folder into the module
# (e.g. core/config/security/users.json from HopUserStoreTest). Test artifacts, not sources.
# Deliberately NOT a blanket "config/": ~20 tracked directories are named config, including
# Java packages (org/apache/hop/core/config) and assemblies/static/src/main/resources/config.
/core/config/
/rap/config/
config/security/

# Generated by web-tests/api-checks/make-payload.sh during manual runs
web-tests/api-checks/*.xml
ui/audit

# local env loading
.sdkmanrc

