6 Repos
Mechanisms for resolving dependency bindings across multiple target platforms.
Distinct from Multiplatform Code Sharing: Focuses on the resolution of dependency containers specifically, rather than general code sharing patterns.
Explore 6 awesome GitHub repositories matching software engineering & architecture · Dependency Resolution. Refine with filters or upvote what's useful.
ILSpy is a .NET decompiler and binary analyzer designed to convert compiled .NET assemblies back into readable C# source code. It functions as a metadata explorer and a common intermediate language viewer, enabling the analysis of compiled code and the execution of reverse engineering workflows. The project distinguishes itself through specialized translation capabilities, such as converting compiled binary XML (BAML) back into human-readable XAML for user interface analysis. It also provides tools for inspecting native machine code and extracting metadata from program database (PDB) files.
Recursively loads assembly dependencies discovered within the embedded resource streams of a binary.
Koin is a dependency injection framework for Kotlin applications that manages object lifetimes and resolves dependencies through a lightweight container. It functions as a multiplatform library, allowing shared object definitions and resource bindings to be reused across different target platforms and source sets. The framework provides a system for resolving dependencies directly within user interface components to decouple business logic from view implementations. It includes a compile-time dependency validator that analyzes dependency graphs during the build process to detect missing bindi
Allows sharing dependency definitions across different target platforms via a unified registry.
Resolves third-party libraries from JitPack, Maven Central, and Google repositories for build reproducibility.
Scala.js ist ein Compiler- und plattformübergreifendes Sprach-Toolchain-Projekt, das Scala-Quellcode in JavaScript oder WebAssembly transformiert. Es fungiert als statisch typisiertes Tool für das JavaScript-Ökosystem und ermöglicht die Entwicklung von Anwendungen für Webbrowser und Node.js-Umgebungen. Das Projekt dient als JavaScript-Interop-Framework, das die Erstellung typsicherer Facaden und Bindings ermöglicht, um mit externen Bibliotheken und globalen Objekten zu interagieren. Es bietet Mechanismen für sowohl statische als auch dynamische JavaScript-Aufrufe, einschließlich der Generierung von TypeScript-Bindings und der Möglichkeit, interne Logik für die Verwendung in externem JavaScript-Code zu exportieren. Die Toolchain enthält ein Frontend-Build-Tool für Production-Bundling und Output-Optimierung, einschließlich Dead-Code-Elimination und Modul-Splitting. Sie deckt ein breites Funktionsspektrum ab, einschließlich DOM-Element-Typ-Checking für UI-Entwicklung, plattformübergreifendes Code-Sharing für Full-Stack-Entwicklung sowie verschiedene Test-Frameworks zur Verifizierung optimierter Build-Artefakte. Kompilierte Skripte können direkt innerhalb einer Command-Line-Umgebung mittels eines JavaScript-Interpreters ausgeführt werden.
Resolves libraries compiled for JavaScript while distinguishing them from other binaries to ensure compatibility.
Buck2 ist ein programmierbares Monorepo-Build-Tool und ein hermetisches Build-System, das entwickelt wurde, um groß angelegte Projekte mit komplexen Zielgraphen und sprachübergreifenden Abhängigkeiten zu verwalten. Es fungiert als Framework für Remote-Ausführung und Analysator für Abhängigkeitsgraphen und bietet eine Engine für das Caching von Artefakten, um reproduzierbare und konsistente Build-Ergebnisse über verschiedene Umgebungen hinweg sicherzustellen. Das System zeichnet sich durch eine Engine für inkrementelle Berechnungen aus, die nur die spezifischen Knoten in einem Abhängigkeitsgraphen neu berechnet, die durch Änderungen ungültig wurden. Es nutzt inhaltsadressierbaren Speicher für das Caching von Build-Artefakten und unterstützt Remote-Execution-Racing, bei dem Build-Aktionen lokal und remote gleichzeitig ausgeführt werden, um das schnellste Ergebnis zurückzugeben. Seine Funktionsfläche deckt sprachübergreifende Build-Automatisierung, Toolchain-Abstraktion und einschränkungsbasierte Konfiguration zur Verwaltung von Build-Varianten über Plattformen hinweg ab. Das Projekt enthält zudem Build-Beobachtbarkeitstools für die Graph-Introspektion und Änderungserkennung sowie Zugriffskontrollmechanismen zur Einschränkung der Zielsichtbarkeit.
Ensures build tools are compiled for the correct execution platform and compatible environment.
Briefcase is a cross-platform build tool and native app packager that converts Python projects into standalone applications. It functions as a deployment framework designed to package Python code into binaries for desktop, mobile, and web platforms. The project utilizes a plugin-based architecture, allowing users to extend platform support and integrate new operating systems or specialized installation formats into the build process. The system handles cross-platform development through a configuration-driven build process. This covers capabilities including project generation from templates
Determines and installs the correct Python libraries based on the specific target platform and architecture requirements.