6 dépôts
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 est un compilateur et une chaîne d'outils linguistique multiplateforme qui transforme le code source Scala en JavaScript ou WebAssembly. Il fonctionne comme un outil typé statiquement pour l'écosystème JavaScript, permettant le développement d'applications pour les navigateurs web et les environnements Node.js. Le projet sert de framework d'interopérabilité JavaScript, permettant la création de façades et de bindings typés pour interagir avec des bibliothèques externes et des objets globaux. Il fournit des mécanismes pour l'invocation JavaScript statique et dynamique, incluant la génération de bindings TypeScript et la capacité d'exporter une logique interne pour une utilisation dans du code JavaScript externe. La chaîne d'outils inclut un outil de build frontend pour le bundling de production et l'optimisation de sortie, incluant l'élimination de code mort et le découpage de modules. Elle couvre une large surface de fonctionnalités, incluant la vérification de type des éléments DOM pour le développement d'interface, le partage de code multiplateforme pour le développement full-stack, et divers frameworks de test pour vérifier les artefacts de build optimisés. Les scripts compilés peuvent être exécutés directement au sein d'un environnement en ligne de commande en utilisant un interpréteur JavaScript.
Resolves libraries compiled for JavaScript while distinguishing them from other binaries to ensure compatibility.
Buck2 est un outil de construction de monorepo programmable et un système de construction hermétique conçu pour gérer des projets à grande échelle avec des graphes de cibles complexes et des dépendances multi-langages. Il fonctionne comme un framework d'exécution à distance et un analyseur de graphe de dépendances, fournissant un moteur de mise en cache d'artefacts pour assurer des résultats de construction reproductibles et cohérents à travers différents environnements. Le système se distingue par un moteur de calcul incrémental qui recalcule uniquement les nœuds spécifiques dans un graphe de dépendances invalidés par des changements. Il utilise un stockage adressable par contenu pour la mise en cache des artefacts de construction et prend en charge la course à l'exécution à distance, où les actions de construction sont exécutées localement et à distance simultanément pour retourner le résultat le plus rapide. Sa surface de capacité couvre l'automatisation de la construction multi-langages, l'abstraction de la chaîne d'outils et la configuration basée sur des contraintes pour gérer les variantes de construction à travers les plateformes. Le projet inclut également des outils d'observabilité de la construction pour l'introspection de graphe et la détection de changement, ainsi que des mécanismes de contrôle d'accès pour restreindre la visibilité des cibles.
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.