Skip to content

Commit

Permalink
feat: it works
Browse files Browse the repository at this point in the history
  • Loading branch information
phodal committed Sep 16, 2020
1 parent b833373 commit 54c1631
Showing 1 changed file with 44 additions and 13 deletions.
57 changes: 44 additions & 13 deletions cmd/cloc.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import (
"fmt"
"github.com/boyter/scc/processor"
"github.com/phodal/coca/cmd/config"
"github.com/phodal/coca/pkg/domain/cloc"
"github.com/spf13/cobra"
"io/ioutil"
"log"
Expand Down Expand Up @@ -116,23 +115,55 @@ func process_dirs(dirs []string) []string {
}

func convertToCsv(outputFiles []string, keys []string) {
var data = [][]string{{"module", "summary", "java", "kotlin"}}
var summaryMap = make(map[string]cloc.ClocSummary)
var basemap = make(map[string]processor.LanguageSummary)
for _, key := range keys {
basemap[key] = processor.LanguageSummary{}
}

var languageMap = make(map[string]map[string]processor.LanguageSummary)
for _, file := range outputFiles {
var summary = cloc.ClocSummary{}
var f []processor.LanguageSummary
contents, _ := ioutil.ReadFile(file)
baseName := strings.TrimSuffix(filepath.Base(file), filepath.Ext(file))
err := json.Unmarshal(contents, &summary)
err := json.Unmarshal(contents, &f)
if err != nil {
fmt.Println("handle file error: " + file + ", maybe no code!")
data = append(data, []string{baseName, "", "", ""})
continue
fmt.Println("Error parsing JSON: ", err)
}

baseName := strings.TrimSuffix(filepath.Base(file), filepath.Ext(file))
languageMap[baseName] = make(map[string]processor.LanguageSummary)

for _, key := range keys {
var hasSet = false
for _, lang := range f {
if key == lang.Name {
hasSet = true
languageMap[baseName][key] = lang
}
}
if !hasSet {
languageMap[baseName][key] = processor.LanguageSummary{};
}
}
}

var data [][]string
baseKey := []string{"package", "summary"}
data = append(data, append(baseKey, keys...))

for baseName, langSummary := range languageMap {
var column []string
column = append(column, baseName)

var codes []string
var summary int64
for _, lang := range langSummary {
summary = summary + lang.Code
codes = append(codes, strconv.Itoa(int(lang.Code)))
}
var javaCode = ""
var kotlinCode = ""

summaryMap[baseName] = summary
data = append(data, []string{baseName, strconv.Itoa(int(summary.Sum.Code)), javaCode, kotlinCode})
column = append(column, strconv.Itoa(int(summary)));
column = append(column, codes...)
data = append(data, column);
}

file, err := os.Create(filepath.FromSlash(config.CocaConfig.ReporterPath + "/" + "cloc.csv"))
Expand Down

0 comments on commit 54c1631

Please sign in to comment.