Scripts
Apache Juneau includes a collection of Python scripts in the scripts/ directory that automate various development, build, test, and release tasks. These scripts help maintain code quality, streamline workflows, and ensure consistency across the project.
Available Scripts
Scripts are organized into two categories based on which branch they're located in:
4.2. Code Scripts (master branch)
These scripts are located in the master branch and are used for code development, testing, and releases:
| Script | Description | Details |
|---|---|---|
| test.py | Build and test helper script | Learn more → |
| push.py | Build, test, and push to repository | Learn more → |
| release.py | Complete release automation | Learn more → |
| prompt-pgp-passphrase.py | Prompt for PGP passphrase early | Learn more → |
| current-release.py | Get current release version | Learn more → |
| maven-version.py | Get Maven version | Learn more → |
| apply-eclipse-prefs.py | Apply Eclipse preferences | Learn more → |
| cleanup-whitespace.py | Clean up whitespace in Java files | Learn more → |
| check-fluent-setter-overrides.py | Check fluent setter overrides | Learn more → |
| revert-staged.py | Revert staged git changes | Learn more → |
| revert-unstaged.py | Revert unstaged git changes | Learn more → |
| start-examples-rest-jetty.py | Start REST examples with Jetty | Learn more → |
| start-examples-rest-springboot.py | Start REST examples with Spring Boot | Learn more → |
4.3. Doc Scripts (docs branch)
These scripts are located in the docs branch and are used for documentation building and deployment:
| Script | Description | Details |
|---|---|---|
| release-docs-stage.py | Stage documentation to asf-staging | Learn more → |
| release-docs.py | Promote documentation to production | Learn more → |
| build-docs.py | Build complete documentation | Learn more → |
| create-mvn-site.py | Generate Maven site for testing | Learn more → |
| start-docusaurus.py | Start Docusaurus dev server | Learn more → |
| check-topic-links.py | Validate documentation links | Learn more → |
Common Features
All scripts share the following characteristics:
- Python 3.6+ - Written in Python using only the standard library
- No External Dependencies - All scripts use only Python standard library modules
- Cross-Platform - Work on macOS, Linux, and Windows
- Error Handling - Provide clear error messages and exit codes
- Documentation - Each script has detailed documentation in the Docusaurus topics
Getting Help
Each script supports a --help flag to display usage information:
python3 scripts/<script-name>.py --help
For detailed documentation, see the individual script topic pages linked above.
Requirements
Most scripts require:
- Python 3.6 or higher
- Maven (for build/test/release scripts)
- Git (for version control scripts)
- Node.js and npm (for documentation scripts)
Specific requirements are documented in each script's topic page.
Share feedback or follow-up questions for this page directly through GitHub.