Class ProjectCollectionsGradleSettingsExtension

    • Constructor Detail

      • ProjectCollectionsGradleSettingsExtension

        ProjectCollectionsGradleSettingsExtension()
    • Method Detail

      • registerProjectCollection

         final Unit registerProjectCollection(String topLevelDir)

        Register a collection of 1-level-deep projects

        projectCollections {
            registerProjectCollection(topLevelDir = "some-dir")
            // implies "some-dir/first", "some-dir/second", etc...
        }
        Parameters:
        topLevelDir - The collection name/top-level directory
      • registerProjectCollection

         abstract Unit registerProjectCollection(String topLevelDir, Integer depth)

        Register a collection of nested projects

        projectCollections {
            registerProjectCollection(topLevelDir = "some-dir", depth = 3)
            // implies "some-dir/first/second/desired", "some-dir/other/layer/target", etc...
        }
        Parameters:
        topLevelDir - The collection name/top-level directory
        depth - The depth within topLevelDir which must be traversed to find a desired project
      • toDepthOf

         abstract Unit toDepthOf(String $self, Integer depth)

        A friendly-syntax approach to including collections of projects

        projectCollections {
            "apps" toDepthOf 1
            "components" toDepthOf 1
            "design-system" toDepthOf 1
            "features" toDepthOf 2
            // implies "features/first/project-a", "features/first/project-b", "features/second/project-a", etc...
        }
        Parameters:
        depth - An Int indicating how deep into the top-level directory members we are required to traverse
      • registerNestedProjectCollection

         abstract Unit registerNestedProjectCollection(String topLevelDir, Integer depth)

        Register a collection of nested projects

        projectCollections {
            registerNestedProjectCollection(topLevelDir = "some-dir", depth = 3)
            // implies "some-dir/first/second/desired", "some-dir/other/layer/target", etc...
        }
        Parameters:
        topLevelDir - The collection name/top-level directory
        depth - The depth within topLevelDir which must be traversed to find a desired project