Skip to content

Bearsampp/module-apache

GitHub release Total downloads

Bearsampp Module - Apache

This is a module of Bearsampp project involving Apache HTTP Server.

Build System

This module uses Gradle as its build system. The Gradle build provides:

  • βœ… Pure Gradle build (no Ant dependencies)
  • βœ… Automatic Apache binary download and extraction
  • βœ… Remote version discovery from modules-untouched repository
  • βœ… Interactive and non-interactive build modes
  • βœ… Support for archived versions
  • βœ… Configurable build paths
  • βœ… Hash file generation (MD5, SHA1, SHA256, SHA512)
  • βœ… 7-Zip and ZIP archive formats

Quick Start

Prerequisites

  • Java 8 or higher
  • Gradle (or use the included wrapper)
  • 7-Zip (for .7z format archives)

Build Commands

# Display build information
gradle info

# List available versions
gradle listVersions

# Build a specific version
gradle release -PbundleVersion=2.4.62

# Build all versions
gradle releaseAll

# Verify build environment
gradle verify

# Clean build artifacts
gradle clean

Documentation

For detailed build instructions and documentation, see .gradle-docs/README.md

Additional documentation:

Document Description
README.md Complete build documentation and guide
GRADLE_UPDATES.md Detailed build system updates
CHANGES_SUMMARY.md Summary of all changes
GRADLE_TMP_PATHS.md Build path structure details
CHANGES_TMP_PATHS.md Temporary paths configuration
REMOTE_PROPERTIES_SUPPORT.md Remote version discovery
MODULES_UNTOUCHED_INTEGRATION.md Integration guide
CHANGELOG.md Complete changelog

Configuration

build.properties

Configure the module build settings:

bundle.name    = apache
bundle.release = 2025.8.15
bundle.type    = bins
bundle.format  = 7z
Property Description Example Value
bundle.name Name of the bundle apache
bundle.release Release version 2025.8.15
bundle.type Type of bundle bins
bundle.format Archive format (7z or zip) 7z

Build Path Configuration

You can configure the build output path in three ways (priority order):

  1. In build.properties:

    build.path = C:/Bearsampp-build
  2. Environment variable:

    set BEARSAMPP_BUILD_PATH=C:/Bearsampp-build
  3. Default: Uses ../bearsampp-build relative to project root

Version Management

Available Versions

Versions are detected from:

  • bin/ - Current/active versions
  • bin/archived/ - Archived/older versions
  • modules-untouched - Remote repository (automatic discovery)

Version Resolution Strategy

When building, the system checks for Apache binaries in this order:

  1. Local bin/ directory - Check for version folder
  2. Local bin/archived/ directory - Check archived versions
  3. Remote apache.properties - Fetch from modules-untouched repository
  4. Direct repository download - Download from modules-untouched GitHub

This multi-tier fallback strategy ensures maximum flexibility and automatic version discovery without manual configuration.

Example:

# List local versions
gradle listVersions

# List remote versions
gradle listReleases

# Check integration
gradle checkModulesUntouched

Output Structure

Build artifacts are created in the bearsampp-build directory:

bearsampp-build/
β”œβ”€β”€ bins/apache/{release}/                  # Final packaged archives
β”‚   β”œβ”€β”€ bearsampp-apache-{version}-{release}.7z
β”‚   β”œβ”€β”€ bearsampp-apache-{version}-{release}.7z.md5
β”‚   β”œβ”€β”€ bearsampp-apache-{version}-{release}.7z.sha1
β”‚   β”œβ”€β”€ bearsampp-apache-{version}-{release}.7z.sha256
β”‚   └── bearsampp-apache-{version}-{release}.7z.sha512
└── tmp/                                    # Temporary build files
    β”œβ”€β”€ bundles_prep/bins/apache/           # Prepared bundles
    β”œβ”€β”€ bundles_build/bins/apache/          # Build staging
    β”œβ”€β”€ bundles_src/                        # Source bundles
    β”œβ”€β”€ downloads/apache/                   # Downloaded dependencies
    └── extract/apache/                     # Extracted archives

Archive Structure: Each archive contains the Apache version folder at the root:

bearsampp-apache-2.4.62-2025.8.15.7z
└── apache2.4.62/              ← Version folder at root
    β”œβ”€β”€ bin/
    β”œβ”€β”€ conf/
    β”œβ”€β”€ modules/
    └── ...

Features

Interactive Mode

Run gradle release without parameters for interactive version selection:

gradle release

The system will display all available versions with location tags [bin] or [bin/archived] and prompt you to select one.

Batch Building

Build all available versions at once:

gradle releaseAll

This will iterate through all versions in bin/ and bin/archived/ directories and build each one.

Remote Version Discovery

The build system automatically discovers new Apache versions from the modules-untouched repository:

  • Fetches version information from apache.properties
  • Downloads binaries automatically when not found locally
  • No manual configuration required for new versions
  • Fallback to direct repository access if needed

Check integration:

gradle checkModulesUntouched

Downloads

Official module downloads are available at:

https://bearsampp.com/module/apache

Issues

Issues must be reported on Bearsampp repository.

Contributing

Contributions are welcome! Please see the Bearsampp contribution guidelines.

Statistics

Alt

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

About

πŸ“¦ Apache module for Bearsampp

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 5