Created
December 20, 2013 19:02
-
-
Save freekh/8059708 to your computer and use it in GitHub Desktop.
Adept plan
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| SBT projects and packages: | |
| adept-hash (merge with core?) | |
| - adept.hash (Hashing object with (static) methods used to generate hashes. Hashes are generated from strings) | |
| adept-core | |
| - adept.variant.models (Variant, Id, Attribute, ArtifactRef, Requirement (dependency)) | |
| - adept.variant.models.constraints (Constraint base class + EqualConstraint and IdConstraint (TODO) ) | |
| - adept.variant.ordering (Ordering implicits. Used to generate the same ordered Seq(uences) from unordered Set(s)) | |
| - adept.resolution (The actual resolution algorithm and the Resolver class) | |
| - adept.resolution.logic (The logic that is applied to find matching attributes, based on constraints) | |
| - adept.resolution.models (State (used internally), ResolverResult (to represent a resolved result), Node (used for representing Graphs)) | |
| adept-repository (merge with core?) | |
| - adept.repository (RepositoryRef, used to lazily load Repository. Useful for loading multiple repositories and spit out one singel error message. Also includes Repository base class and GitRepository) | |
| - adept.repository.models (Contains the models used to represent a repository: Repository, Commit) | |
| - adept.conflict (Resolves conflicts based on Git history and managed meta-data/format changes) | |
| - adept.conflict.models (Any model needed for conflicts. TBD) | |
| - adept.repository (RepositoryRef, used to lazily load Repository. Useful for loading multiple repositories and spit out one singel error message. Also includes Repository base class and GitRepository) | |
| adept-publish (merge with repository?) | |
| - adept.publish.models (Models used for publishing, ReleaseNotes, ....) | |
| - adept.publish.ordering (Ordering implicits. Used to generate the same ordered Seq(uences) from unordered Set(s)) | |
| adept-configuration (merge with repository?) | |
| - adept.configuration (ConfigurationMapper, maps a variants and constraints to new variants) | |
| - adept.configuration.models (Configurations, ConfigurationId, ...) | |
| adept-serialization (merge with repository?) | |
| - adept.serialization (abstract serialization used by all models) | |
| - adept.variant.models.serialization (Serialization base trait seperating domain model (models) from serialization. Uses ordering to always create the same order) | |
| - adept.variant.models.serialization.default (Default (de)serializers for variant.models) | |
| - adept.conflict.models.serialization (Base classes) | |
| - adept.conflict.models.serialization.default (Default (de)serialiazers) | |
| - adept.publish.models.serialization (Base traits) | |
| - adept.publish.models.serialization.default (Default (de)serializers) | |
| - adept.repository.models.serialization (Base classes) | |
| - adept.repository.models.serialization.default (Default (de)serializers) | |
| adept-artifacts (merge with downloader?) | |
| - adept.artifact.descriptor.models (Artifact descriptor files contains just the information needed to reliable download and check hashes) | |
| - adept.artifact.descriptor.ordering | |
| - adept.artifact.descriptor.serialization (Base classes) | |
| - adept.artifact.descriptor.serialization.default (Default serializer for artifact descriptor files) | |
| adept-downloader | |
| - adept.downloader (Downloads artifacts in parallel) | |
| #adept-logging (not needed, use SLF4j instead) | |
| #- adept.logging (Base Logger class) | |
| #- adept.logging.default (Default implementations) | |
| adept-progress | |
| - adept.progress (Base progress indicator classes) | |
| - adept.progress.default (Default implementations) | |
| adept-commons | |
| - adept.commons.configurations (Commonly used Attribute Names such as version, binary-version, prerelease, ... ) | |
| - adept.commons.attribute (Commonly used Attribute Names such as version, binary-version, prerelease, ... ) | |
| - adept.commons.errors (Transforms results into nice error messages) | |
| adept-exclusions | |
| - adept.logic.exclusions (-conflict, +excludes (transform exclude to new variants and new requirements, based on dependencies and a repository)) | |
| adept-ivy | |
| - adept.ivy (Converts Ivy dependencies/artifacts/... to Variants, Artifact...) | |
| - adept.ivy.configurations (Maps Ivy configurations to Adept) | |
| adept-semver | |
| - adept.semver (Attributes and logic used for semantic versioning. TBD) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment