Yooreeka
July 6, 2026 ยท View on GitHub
This is the "official" clone of the Yooreeka project (originally hosted on Google Code).
1. Prerequisites Verification
If you have just downloaded the repository, verify that your environment meets the minimum version requirements:
-
Java Development Kit (JDK 24+) Check your Java version:
java -version(Ensure the output shows Java 24 or later)
-
Apache Maven Check your Maven installation:
mvn -version
2. Using Maven to Build and Run Tests
The build system has been migrated from Ant to Maven. You can use standard Maven goals for compiling and testing the application.
Compilation
To compile the project and download all dependencies from Maven Central:
mvn compile
Running All Tests
To run the entire test suite:
mvn clean test
(Note: Running this command also executes the custom clean-tests execution, which automatically removes transient files created during test executions upon successful completion).
Running Individual Chapter Tests
To run tests for a specific chapter individually (saving time and system resources), use the -Dtest property:
- Chapter 2:
mvn test -Dtest=Ch2BeanShellScriptsTest - Chapter 3:
mvn test -Dtest=Ch3BeanShellScriptsTest - Chapter 4:
mvn test -Dtest=Ch4BeanShellScriptsTest - Chapter 5:
mvn test -Dtest=Ch5BeanShellScriptsTest - Chapter 6:
mvn test -Dtest=Ch6BeanShellScriptsTest - Chapter 7:
mvn test -Dtest=Ch7BeanShellScriptsTest - Playwright Crawler Tests:
(Note: On the first run, Playwright will automatically download and cache its headless browser binaries).mvn test -Dtest=PlaywrightTransportTest
3. What's New in v3.0
Version 3.0 represents a complete modernization of the Yooreeka codebase:
- JDK 24 Upgrade: Full compatibility and compilation targeting Java 24 features (using
-release 24). - Playwright for Java Crawler: Replaced the legacy purged
HTTPTransportimplementation with a modern browser crawler powered by Microsoft Playwright. It fully supports rendering JavaScript and single-page applications (SPAs) during crawls. - Maven Build Migration: Replaced the legacy Ant build configuration with a standard
pom.xml, fetching all libraries from Maven Central. - Decoupled & Eliminated System Scope JARs: Removed legacy, system-scoped libraries (
jigg,rooster, and localtm-extractors). Defunct live Digg API integration has been removed, andtm-extractorsis now resolved natively from Maven Central. - Upgraded Apache Lucene to 10.5.0: Upgraded search capabilities to the latest stable Lucene version, refactoring indexers, query builders, and search modules to use modern
StoredFieldsandBuilderAPIs. - Upgraded Drools Engine: Upgraded Drools dependencies to version
7.73.0.Finalto ensure runtime compatibility with JDK 24. - Automatic Test Cleanup (
clean-tests): Bound a customized execution of themaven-clean-pluginto clean up all test-generated crawler folders (data/ch02/crawl-*,data/crawls/), serialized files, and Lucene indexes automatically upon successful test runs. - Clean Warnings: Resolved deprecation warnings (e.g.
java.net.URLconstructors, Commons CLIOptionBuilder) and enabled optimal Vector API performance using--add-modules jdk.incubator.vector.