This directory contains helper scripts for common HDFView development tasks.
./scripts/clean-all.shDeep clean to pristine state. Use when:
- Experiencing classloading issues
- Stale dependencies causing problems
- Want fresh start after major changes
./scripts/build-dev.sh # Quick build (default)
./scripts/build-dev.sh --clean # Clean + build
./scripts/build-dev.sh --with-tests # Build + run testsFast build skipping quality checks. Use for normal development.
./scripts/set-debug-logging.sh list # List configs
./scripts/set-debug-logging.sh float16 # Debug Float16 issues
./scripts/set-debug-logging.sh default # Minimal loggingQuick switch between debug configurations.
./scripts/clean-all.sh # Ensure clean state
./scripts/build-dev.sh # Build project
./run-hdfview.sh # Launch HDFView# Make code changes, then:
mvn compile -pl object,hdfview -DskipTests
./run-hdfview.sh
# Or just:
./run-hdfview.sh # Auto-builds if needed# Enable debug logging
./scripts/set-debug-logging.sh float16
mvn test-compile -pl hdfview -DskipTests
# Run specific test
mvn test -pl hdfview -Dtest=TestClassName#testMethod
# Restore normal logging
./scripts/set-debug-logging.sh default# Try incremental fix first:
mvn clean compile -pl object,hdfview -DskipTests
# If that doesn't work, deep clean:
./scripts/clean-all.sh
./scripts/build-dev.shRemoves:
- All Maven
target/directories - Maven local repository cache for hdfview
- Maven resolver status files
libs/directory- Stale
.classfiles anywhere in project
Safe to run anytime - doesn't affect source code or configuration.
Steps:
- Compile object module
- Package object JAR →
libs/ - Install object JAR →
~/.m2/repository - Compile hdfview module
- Compile test classes
Options:
--clean: Runmvn cleanfirst--with-tests: Run full test suite after build--with-quality: Include PMD/Checkstyle (much slower)
Manages logging configurations in .claude/debug-configs/:
- Backs up current config before switching
- Copies selected config to
hdfview/src/test/resources/simplelogger.properties - Lists available configurations with descriptions
Available configs:
- default: Minimal logging (info level)
- debug-float16: Trace logging for Float16/BFLOAT16/Float8 debugging
To add new configs, save to .claude/debug-configs/simplelogger-<name>.properties
For code quality, static analysis, and security scanning:
validate-quality.sh- Quick quality validation for pre-commitcheck-quality.sh- Comprehensive quality analysisanalyze-coverage.sh- Coverage analysis with threshold checkingsecurity-analysis.sh- Security and license compliance scanningcollect-metrics.sh- Unified quality metrics collection
See CLAUDE.md → "CI/CD and Quality Assurance" section for detailed usage.
- CLAUDE.md: Full project documentation
- run-hdfview.sh: Main launcher script
- .claude/debug-configs/README.md: Debug logging guide