Skip to content

1.0.0-alpha1

Pre-release
Pre-release
Compare
Choose a tag to compare
@Jelle-S Jelle-S released this 10 Jul 13:16
· 81 commits to develop since this release
Release 1.0.0-alpha1

commit 85259b78b060fe47e957ded51d5f191efad50512
Author: Jelle Sebreghts <[email protected]>
Date:   Tue Jul 2 16:29:40 2019

    Refactoring to move away from monolithic RoboFile.

    - Use the command builder
    - Define task classes and traits

    Why we use traits instead of command classes.

     Command classes define a command. Each public method on a RoboFile (in
     the root of the project) is also a command. Public methods can be
     overridden by the RoboFile. Command classes cannot (at least not in a
     reliable way, there's no way of telling robo which of the command
     classes that define a command with the same name, is the actual command
     you want to use).

     I also introduced TraitDependencyCheckerTrait (not my proudest moment),
     because traits cannot extend other traits, but some have overlapping
     functionality, and, you know, DRY. This trait helps other traits define
     dependencies (on yet some other traits) and checks if these
     dependencies are met. Just add a method named
     get[MyTraitClassName]Dependencies, and return an array of full trait
     names (with namespace). If the class using this trait doesn't also use
     every dependend trait, an exception will be thrown.

     Also: https://github.com/Roave/BetterReflection/issues/486