1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
//! Configuration module for the Ristretto Virtual Machine.
//!
//! This module provides all configuration-related types for the VM, including:
//!
//! - [`Configuration`]; The main configuration struct
//! - [`ConfigurationBuilder`]; Builder for creating configurations
//! - JPMS module configuration types:
//! - [`MainModule`]; Main module specification (--module or -m)
//! - [`ModuleRead`]; Read edge between modules (--add-reads)
//! - [`ModuleExport`]; Export directive (--add-exports)
//! - [`ModuleOpens`]; Opens directive for reflection (--add-opens)
//! - [`ModulePatch`]; Module patch (--patch-module)
//!
//! # Example
//!
//! ```rust
//! use ristretto_vm::{ConfigurationBuilder, MainModule, ModuleRead, ModuleExport};
//! use ristretto_classloader::ClassPath;
//! use std::path::PathBuf;
//!
//! let config = ConfigurationBuilder::new()
//! .class_path(ClassPath::from(&["."]))
//! .main_class("com.example.Main")
//! .java_version("21")
//! .module_path(vec![PathBuf::from("/mods")])
//! .main_module(MainModule::new("my.module"))
//! .add_read(ModuleRead::new("my.module", "java.sql"))
//! .add_export(ModuleExport::new("java.base", "java.lang", "ALL-UNNAMED"))
//! .build()
//! .unwrap();
//! ```
pub use ConfigurationBuilder;
pub use ;
pub use MainModule;
pub use ModuleExport;
pub use ModuleOpens;
pub use ModulePatch;
pub use ModuleRead;