Skip to main content

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:

ScriptDescriptionDetails
test.pyBuild and test helper scriptLearn more →
push.pyBuild, test, and push to repositoryLearn more →
release.pyComplete release automationLearn more →
prompt-pgp-passphrase.pyPrompt for PGP passphrase earlyLearn more →
current-release.pyGet current release versionLearn more →
maven-version.pyGet Maven versionLearn more →
apply-eclipse-prefs.pyApply Eclipse preferencesLearn more →
cleanup-whitespace.pyClean up whitespace in Java filesLearn more →
check-fluent-setter-overrides.pyCheck fluent setter overridesLearn more →
revert-staged.pyRevert staged git changesLearn more →
revert-unstaged.pyRevert unstaged git changesLearn more →
start-examples-rest-jetty.pyStart REST examples with JettyLearn more →
start-examples-rest-springboot.pyStart REST examples with Spring BootLearn more →

4.3. Doc Scripts (docs branch)

These scripts are located in the docs branch and are used for documentation building and deployment:

ScriptDescriptionDetails
release-docs-stage.pyStage documentation to asf-stagingLearn more →
release-docs.pyPromote documentation to productionLearn more →
build-docs.pyBuild complete documentationLearn more →
create-mvn-site.pyGenerate Maven site for testingLearn more →
start-docusaurus.pyStart Docusaurus dev serverLearn more →
check-topic-links.pyValidate documentation linksLearn 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.

Discussion

Share feedback or follow-up questions for this page directly through GitHub.