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.