diff options
Diffstat (limited to 'crates/shirabe-external-packages/src/composer')
17 files changed, 262 insertions, 0 deletions
diff --git a/crates/shirabe-external-packages/src/composer/ca_bundle/ca_bundle.rs b/crates/shirabe-external-packages/src/composer/ca_bundle/ca_bundle.rs new file mode 100644 index 0000000..4a980c6 --- /dev/null +++ b/crates/shirabe-external-packages/src/composer/ca_bundle/ca_bundle.rs @@ -0,0 +1,22 @@ +use crate::psr::log::logger_interface::LoggerInterface; + +#[derive(Debug)] +pub struct CaBundle; + +impl CaBundle { + pub fn is_openssl_parse_safe() -> bool { + todo!() + } + + pub fn get_system_ca_root_bundle_path(logger: Option<&dyn LoggerInterface>) -> String { + todo!() + } + + pub fn validate_ca_file(ca_file: &str, logger: Option<&dyn LoggerInterface>) -> bool { + todo!() + } + + pub fn get_bundled_ca_bundle_path() -> String { + todo!() + } +} diff --git a/crates/shirabe-external-packages/src/composer/ca_bundle/mod.rs b/crates/shirabe-external-packages/src/composer/ca_bundle/mod.rs new file mode 100644 index 0000000..537fe0d --- /dev/null +++ b/crates/shirabe-external-packages/src/composer/ca_bundle/mod.rs @@ -0,0 +1 @@ +pub mod ca_bundle; diff --git a/crates/shirabe-external-packages/src/composer/metadata_minifier/metadata_minifier.rs b/crates/shirabe-external-packages/src/composer/metadata_minifier/metadata_minifier.rs new file mode 100644 index 0000000..f886197 --- /dev/null +++ b/crates/shirabe-external-packages/src/composer/metadata_minifier/metadata_minifier.rs @@ -0,0 +1,15 @@ +use indexmap::IndexMap; +use shirabe_php_shim::PhpMixed; + +#[derive(Debug)] +pub struct MetadataMinifier; + +impl MetadataMinifier { + pub fn expand(minified_data: IndexMap<String, PhpMixed>) -> IndexMap<String, PhpMixed> { + todo!() + } + + pub fn minify(packages: IndexMap<String, PhpMixed>) -> IndexMap<String, PhpMixed> { + todo!() + } +} diff --git a/crates/shirabe-external-packages/src/composer/metadata_minifier/mod.rs b/crates/shirabe-external-packages/src/composer/metadata_minifier/mod.rs new file mode 100644 index 0000000..fb69bd5 --- /dev/null +++ b/crates/shirabe-external-packages/src/composer/metadata_minifier/mod.rs @@ -0,0 +1 @@ +pub mod metadata_minifier; diff --git a/crates/shirabe-external-packages/src/composer/mod.rs b/crates/shirabe-external-packages/src/composer/mod.rs new file mode 100644 index 0000000..61e5544 --- /dev/null +++ b/crates/shirabe-external-packages/src/composer/mod.rs @@ -0,0 +1,7 @@ +pub mod ca_bundle; +pub mod metadata_minifier; +pub mod pcre; +pub mod semver; +pub mod spdx_licenses; +pub mod util; +pub mod xdebug_handler; diff --git a/crates/shirabe-external-packages/src/composer/pcre/mod.rs b/crates/shirabe-external-packages/src/composer/pcre/mod.rs new file mode 100644 index 0000000..5cc1656 --- /dev/null +++ b/crates/shirabe-external-packages/src/composer/pcre/mod.rs @@ -0,0 +1 @@ +pub mod preg; diff --git a/crates/shirabe-external-packages/src/composer/pcre/preg.rs b/crates/shirabe-external-packages/src/composer/pcre/preg.rs new file mode 100644 index 0000000..1b2d675 --- /dev/null +++ b/crates/shirabe-external-packages/src/composer/pcre/preg.rs @@ -0,0 +1,88 @@ +use indexmap::IndexMap; + +#[derive(Debug)] +pub struct Preg; + +impl Preg { + pub fn is_match(pattern: &str, subject: &str) -> anyhow::Result<bool> { + todo!() + } + + pub fn replace(pattern: &str, replacement: &str, subject: &str) -> anyhow::Result<String> { + todo!() + } + + pub fn replace_callback<F>(pattern: &str, callback: F, subject: &str) -> anyhow::Result<String> + where + F: Fn(&IndexMap<String, String>) -> String, + { + todo!() + } + + pub fn replace_with_count( + pattern: &str, + replacement: &str, + subject: &str, + count: &mut i64, + ) -> anyhow::Result<String> { + todo!() + } + + pub fn split(pattern: &str, subject: &str) -> anyhow::Result<Vec<String>> { + todo!() + } + + pub fn grep(pattern: &str, input: Vec<String>) -> anyhow::Result<Vec<String>> { + todo!() + } + + /// Returns captures as a flat Vec indexed by group number (index 0 = full match). + pub fn is_match_strict_groups( + pattern: &str, + subject: &str, + ) -> Option<Vec<String>> { + todo!() + } + + /// Returns named captures in an IndexMap. + pub fn is_match_named( + pattern: &str, + subject: &str, + matches: &mut IndexMap<String, String>, + ) -> anyhow::Result<bool> { + todo!() + } + + /// Returns all matches; outer Vec indexed by group number, inner Vec by match occurrence. + pub fn is_match_all_strict_groups( + pattern: &str, + subject: &str, + ) -> Option<Vec<Vec<String>>> { + todo!() + } + + /// Returns captures with byte offsets: IndexMap<group_name, Vec<(match_str, offset)>>. + pub fn is_match_all_with_offsets( + pattern: &str, + subject: &str, + matches: &mut IndexMap<String, Vec<(String, i64)>>, + ) -> anyhow::Result<bool> { + todo!() + } + + /// Returns indexed captures as Vec (index 0 = full match) when pattern matches. + pub fn is_match_with_indexed_captures( + pattern: &str, + subject: &str, + ) -> anyhow::Result<Option<Vec<String>>> { + todo!() + } + + /// Like is_match_strict_groups but returns named captures as IndexMap. + pub fn match_strict_groups( + pattern: &str, + subject: &str, + ) -> Option<IndexMap<String, String>> { + todo!() + } +} diff --git a/crates/shirabe-external-packages/src/composer/semver/compiling_matcher.rs b/crates/shirabe-external-packages/src/composer/semver/compiling_matcher.rs new file mode 100644 index 0000000..dea5475 --- /dev/null +++ b/crates/shirabe-external-packages/src/composer/semver/compiling_matcher.rs @@ -0,0 +1,22 @@ +use shirabe_php_shim::PhpMixed; + +#[derive(Debug)] +pub struct CompilingMatcher; + +impl CompilingMatcher { + pub fn r#match(constraint: &dyn std::any::Any, package: &dyn std::any::Any) -> bool { + todo!() + } + + pub fn matches(constraint: &dyn std::any::Any, operator: &str, version: &str) -> bool { + todo!() + } + + pub fn match_(constraint: &dyn std::any::Any, operator: &str, version: &str) -> bool { + todo!() + } + + pub fn clear() { + todo!() + } +} diff --git a/crates/shirabe-external-packages/src/composer/semver/intervals.rs b/crates/shirabe-external-packages/src/composer/semver/intervals.rs new file mode 100644 index 0000000..957436d --- /dev/null +++ b/crates/shirabe-external-packages/src/composer/semver/intervals.rs @@ -0,0 +1,29 @@ +use shirabe_php_shim::PhpMixed; + +#[derive(Debug)] +pub struct Intervals; + +impl Intervals { + pub fn is_subset_of( + constraint_a: &dyn std::any::Any, + constraint_b: &dyn std::any::Any, + ) -> anyhow::Result<bool> { + todo!() + } + + pub fn compact_constraint(constraint: &dyn std::any::Any) -> Box<dyn std::any::Any> { + todo!() + } + + pub fn compact(constraint: &dyn std::any::Any) -> Box<dyn std::any::Any> { + todo!() + } + + pub fn get(constraint: &dyn std::any::Any) -> anyhow::Result<PhpMixed> { + todo!() + } + + pub fn clear() { + todo!() + } +} diff --git a/crates/shirabe-external-packages/src/composer/semver/mod.rs b/crates/shirabe-external-packages/src/composer/semver/mod.rs new file mode 100644 index 0000000..800150d --- /dev/null +++ b/crates/shirabe-external-packages/src/composer/semver/mod.rs @@ -0,0 +1,3 @@ +pub mod compiling_matcher; +pub mod intervals; +pub mod semver; diff --git a/crates/shirabe-external-packages/src/composer/semver/semver.rs b/crates/shirabe-external-packages/src/composer/semver/semver.rs new file mode 100644 index 0000000..f467c2c --- /dev/null +++ b/crates/shirabe-external-packages/src/composer/semver/semver.rs @@ -0,0 +1,16 @@ +#[derive(Debug)] +pub struct Semver; + +impl Semver { + pub fn sort(versions: Vec<String>) -> anyhow::Result<Vec<String>> { + todo!() + } + + pub fn rsort(versions: Vec<String>) -> Vec<String> { + todo!() + } + + pub fn satisfies(version: &str, constraint: &str) -> bool { + todo!() + } +} diff --git a/crates/shirabe-external-packages/src/composer/spdx_licenses/mod.rs b/crates/shirabe-external-packages/src/composer/spdx_licenses/mod.rs new file mode 100644 index 0000000..a4b5b0a --- /dev/null +++ b/crates/shirabe-external-packages/src/composer/spdx_licenses/mod.rs @@ -0,0 +1 @@ +pub mod spdx_licenses; diff --git a/crates/shirabe-external-packages/src/composer/spdx_licenses/spdx_licenses.rs b/crates/shirabe-external-packages/src/composer/spdx_licenses/spdx_licenses.rs new file mode 100644 index 0000000..95640c9 --- /dev/null +++ b/crates/shirabe-external-packages/src/composer/spdx_licenses/spdx_licenses.rs @@ -0,0 +1,22 @@ +use shirabe_php_shim::PhpMixed; + +#[derive(Debug)] +pub struct SpdxLicenses; + +impl SpdxLicenses { + pub fn new() -> Self { + todo!() + } + + pub fn validate(&self, license: &str) -> bool { + todo!() + } + + pub fn get_license_by_identifier(&self, identifier: &str) -> Option<PhpMixed> { + todo!() + } + + pub fn get_licenses(&self) -> PhpMixed { + todo!() + } +} diff --git a/crates/shirabe-external-packages/src/composer/util/composer_mirror.rs b/crates/shirabe-external-packages/src/composer/util/composer_mirror.rs new file mode 100644 index 0000000..767ff36 --- /dev/null +++ b/crates/shirabe-external-packages/src/composer/util/composer_mirror.rs @@ -0,0 +1,16 @@ +#[derive(Debug)] +pub struct ComposerMirror; + +impl ComposerMirror { + pub fn process_url(mirror: &str, package_name: &str, version: &str, reference: Option<&str>, url: &str, custom_filename: Option<&str>) -> String { + todo!() + } + + pub fn process_git_url(mirror: &str, package_name: &str, url: &str, extension: &str) -> String { + todo!() + } + + pub fn process_hg_url(mirror: &str, package_name: &str, url: &str, extension: &str) -> String { + todo!() + } +} diff --git a/crates/shirabe-external-packages/src/composer/util/mod.rs b/crates/shirabe-external-packages/src/composer/util/mod.rs new file mode 100644 index 0000000..3048d03 --- /dev/null +++ b/crates/shirabe-external-packages/src/composer/util/mod.rs @@ -0,0 +1 @@ +pub mod composer_mirror; diff --git a/crates/shirabe-external-packages/src/composer/xdebug_handler/mod.rs b/crates/shirabe-external-packages/src/composer/xdebug_handler/mod.rs new file mode 100644 index 0000000..cd8b96e --- /dev/null +++ b/crates/shirabe-external-packages/src/composer/xdebug_handler/mod.rs @@ -0,0 +1 @@ +pub mod xdebug_handler; diff --git a/crates/shirabe-external-packages/src/composer/xdebug_handler/xdebug_handler.rs b/crates/shirabe-external-packages/src/composer/xdebug_handler/xdebug_handler.rs new file mode 100644 index 0000000..d58b423 --- /dev/null +++ b/crates/shirabe-external-packages/src/composer/xdebug_handler/xdebug_handler.rs @@ -0,0 +1,16 @@ +#[derive(Debug)] +pub struct XdebugHandler; + +impl XdebugHandler { + pub fn is_xdebug_active() -> bool { + todo!() + } + + pub fn get_skipped_version() -> Option<String> { + todo!() + } + + pub fn get_all_ini_files() -> Vec<String> { + todo!() + } +} |
