aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/composer
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe-external-packages/src/composer')
-rw-r--r--crates/shirabe-external-packages/src/composer/ca_bundle/ca_bundle.rs22
-rw-r--r--crates/shirabe-external-packages/src/composer/ca_bundle/mod.rs1
-rw-r--r--crates/shirabe-external-packages/src/composer/metadata_minifier/metadata_minifier.rs15
-rw-r--r--crates/shirabe-external-packages/src/composer/metadata_minifier/mod.rs1
-rw-r--r--crates/shirabe-external-packages/src/composer/mod.rs7
-rw-r--r--crates/shirabe-external-packages/src/composer/pcre/mod.rs1
-rw-r--r--crates/shirabe-external-packages/src/composer/pcre/preg.rs88
-rw-r--r--crates/shirabe-external-packages/src/composer/semver/compiling_matcher.rs22
-rw-r--r--crates/shirabe-external-packages/src/composer/semver/intervals.rs29
-rw-r--r--crates/shirabe-external-packages/src/composer/semver/mod.rs3
-rw-r--r--crates/shirabe-external-packages/src/composer/semver/semver.rs16
-rw-r--r--crates/shirabe-external-packages/src/composer/spdx_licenses/mod.rs1
-rw-r--r--crates/shirabe-external-packages/src/composer/spdx_licenses/spdx_licenses.rs22
-rw-r--r--crates/shirabe-external-packages/src/composer/util/composer_mirror.rs16
-rw-r--r--crates/shirabe-external-packages/src/composer/util/mod.rs1
-rw-r--r--crates/shirabe-external-packages/src/composer/xdebug_handler/mod.rs1
-rw-r--r--crates/shirabe-external-packages/src/composer/xdebug_handler/xdebug_handler.rs16
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!()
+ }
+}