subcomponent 0.1.0

A components orchestrator
subcomponents {

   /* Get the branch master (default one) */
   git-repo-master {
      name: "A superb git repository";
      path: "test-repo-master";

      fetch {
         git {
            url: "https://github.com/subcomponent/test-git-simple.git";
            branch: "master";
            clone-recursive: false;
         }
      }
   }

   /* Get a branch that is not the master */
   git-repo-branch-a {
      name: "A superb git repository";
      path: "test-repo-branch-a";

      fetch {
         git {
            url: "https://github.com/subcomponent/test-git-simple.git";
            branch: "branch-a";
         }
      }
   }

   /* Get a specific tag */
   git-repo-tag-d {
      name: "A superb git repository";
      path: "test-repo-tag-d";

      fetch {
         git {
            url: "https://github.com/subcomponent/test-git-simple.git";
            tag: "tag-d";
         }
      }
   }

   /* Get a specific revision */
   git-repo-commit {
      name: "A superb git repository";
      path: "test-repo-commit";

      fetch {
         git {
            url: "https://github.com/subcomponent/test-git-simple.git";
            commit: "c468926e34c362ccd5cca7b4daf94fb795a88712";
         }
      }
   }

   /* Get a fully shallow repository */
   git-repo-shallow {
      name: "A superb git repository";
      path: "test-repo-shallow";

      fetch {
         git {
            url: "https://github.com/subcomponent/test-git-simple.git";
            branch: "branch-submodule-no-update";
            shallow: true;
            shallow-submodules: true;
         }
      }
   }
}