[ {
  "key" : "primary",
  "components" : [ {
    "name" : "spotless",
    "filesCount" : 2,
    "linesOfCode" : 2,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 1,
      "description" : [ ]
    }, {
      "name" : "  *.kt",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 1,
      "description" : [ ]
    }, {
      "name" : "  *.kt",
      "value" : 1,
      "description" : [ ]
    } ]
  }, {
    "name" : "crumb-compiler",
    "filesCount" : 28,
    "linesOfCode" : 2080,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.kt",
      "value" : 27,
      "description" : [ ]
    }, {
      "name" : "  *.proto",
      "value" : 1,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.kt",
      "value" : 2068,
      "description" : [ ]
    }, {
      "name" : "  *.proto",
      "value" : 12,
      "description" : [ ]
    } ]
  }, {
    "name" : "crumb-compiler-api",
    "filesCount" : 5,
    "linesOfCode" : 81,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.kt",
      "value" : 5,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.kt",
      "value" : 81,
      "description" : [ ]
    } ]
  }, {
    "name" : "crumb-annotations",
    "filesCount" : 5,
    "linesOfCode" : 52,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 5,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 52,
      "description" : [ ]
    } ]
  }, {
    "name" : "crumb-core",
    "filesCount" : 3,
    "linesOfCode" : 216,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.kt",
      "value" : 3,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.kt",
      "value" : 216,
      "description" : [ ]
    } ]
  }, {
    "name" : "sample",
    "filesCount" : 31,
    "linesOfCode" : 903,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.java",
      "value" : 19,
      "description" : [ ]
    }, {
      "name" : "  *.kt",
      "value" : 12,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.java",
      "value" : 519,
      "description" : [ ]
    }, {
      "name" : "  *.kt",
      "value" : 384,
      "description" : [ ]
    } ]
  }, {
    "name" : "integration-test",
    "filesCount" : 18,
    "linesOfCode" : 1372,
    "numberOfRegexLineMatches" : 0,
    "fileCountPerExtension" : [ {
      "name" : "  *.kt",
      "value" : 3,
      "description" : [ ]
    }, {
      "name" : "  *.java",
      "value" : 15,
      "description" : [ ]
    } ],
    "linesOfCodePerExtension" : [ {
      "name" : "  *.kt",
      "value" : 969,
      "description" : [ ]
    }, {
      "name" : "  *.java",
      "value" : 403,
      "description" : [ ]
    } ]
  } ],
  "componentDependencies" : [ ],
  "componentDependenciesErrors" : [ ],
  "logicalDecomposition" : {
    "name" : "primary",
    "scope" : "main",
    "filters" : [ ],
    "componentsFolderDepth" : 1,
    "minComponentsCount" : 0,
    "components" : [ {
      "name" : "spotless",
      "sourceFileFilters" : [ {
        "pathPattern" : "./spotless/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "crumb-compiler",
      "sourceFileFilters" : [ {
        "pathPattern" : "./crumb-compiler/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      }, {
        "pathPattern" : "./crumb-compiler-api/.*",
        "contentPattern" : "",
        "exception" : true,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "crumb-compiler-api",
      "sourceFileFilters" : [ {
        "pathPattern" : "./crumb-compiler-api/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "crumb-annotations",
      "sourceFileFilters" : [ {
        "pathPattern" : "./crumb-annotations/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "crumb-core",
      "sourceFileFilters" : [ {
        "pathPattern" : "./crumb-core/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "sample",
      "sourceFileFilters" : [ {
        "pathPattern" : "./sample/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    }, {
      "name" : "integration-test",
      "sourceFileFilters" : [ {
        "pathPattern" : "./integration-test/.*",
        "contentPattern" : "",
        "exception" : false,
        "note" : ""
      } ],
      "files" : [ ]
    } ],
    "metaComponents" : [ ],
    "groups" : [ ],
    "includeRemainingFiles" : true,
    "dependenciesFinder" : {
      "useBuiltInDependencyFinders" : true,
      "rules" : [ ],
      "metaRules" : [ ]
    },
    "renderingOptions" : {
      "orientation" : "TB",
      "maxNumberOfDependencies" : 100,
      "renderComponentsWithoutDependencies" : true,
      "renderIndirectDependencies" : false,
      "renderInternalIndirectDependencies" : false,
      "reverseDirection" : false
    },
    "includeExternalComponents" : true,
    "dependencyLinkThreshold" : 1,
    "duplicationLinkThreshold" : 50,
    "temporalLinkThreshold" : 1,
    "maxSearchDepthLines" : 200
  },
  "fileCountPerComponent" : [ {
    "name" : "spotless",
    "value" : 2,
    "description" : [ ]
  }, {
    "name" : "crumb-compiler",
    "value" : 28,
    "description" : [ ]
  }, {
    "name" : "crumb-compiler-api",
    "value" : 5,
    "description" : [ ]
  }, {
    "name" : "crumb-annotations",
    "value" : 5,
    "description" : [ ]
  }, {
    "name" : "crumb-core",
    "value" : 3,
    "description" : [ ]
  }, {
    "name" : "sample",
    "value" : 31,
    "description" : [ ]
  }, {
    "name" : "integration-test",
    "value" : 18,
    "description" : [ ]
  } ],
  "linesOfCodePerComponent" : [ {
    "name" : "spotless",
    "value" : 2,
    "description" : [ ]
  }, {
    "name" : "crumb-compiler",
    "value" : 2080,
    "description" : [ ]
  }, {
    "name" : "crumb-compiler-api",
    "value" : 81,
    "description" : [ ]
  }, {
    "name" : "crumb-annotations",
    "value" : 52,
    "description" : [ ]
  }, {
    "name" : "crumb-core",
    "value" : 216,
    "description" : [ ]
  }, {
    "name" : "sample",
    "value" : 903,
    "description" : [ ]
  }, {
    "name" : "integration-test",
    "value" : 1372,
    "description" : [ ]
  } ]
} ]