diff --git a/analysis/golang/app/analysis.go b/analysis/golang/app/analysis.go index 43aecf57e6c4d189c4ccf2a4e033109cb757d0dd..c3f0ba1f4bd78f3f01df6536f267a51c061db4e8 100644 --- a/analysis/golang/app/analysis.go +++ b/analysis/golang/app/analysis.go @@ -3,7 +3,10 @@ package app import ( "encoding/json" "github.com/phodal/coca/cmd/cmd_util" + "github.com/phodal/coca/pkg/adapter/cocafile" + "github.com/phodal/coca/pkg/application/analysis/goapp" "github.com/phodal/coca/pkg/application/analysis/javaapp" + "github.com/phodal/coca/pkg/appliction/analysis" "github.com/phodal/coca/pkg/domain/core_domain" "github.com/spf13/cobra" ) @@ -25,8 +28,9 @@ var analysisCmd = &cobra.Command{ Run: func(cmd *cobra.Command, args []string) { var outputName string var ds []core_domain.CodeDataStruct - ds = AnalysisJava() - outputName = "deps.json" + + ds = analysis.CommonAnalysis(output, analysisCmdConfig.Path, new(goapp.GoIdentApp), cocafile.GoFileFilter, true) + outputName = "godeps.json" cModel, _ := json.MarshalIndent(ds, "", "\t") cmd_util.WriteToCocaFile(outputName, string(cModel)) diff --git a/analysis/python/app/analysis.go b/analysis/python/app/analysis.go new file mode 100644 index 0000000000000000000000000000000000000000..3a8c7ad37e7a7aa61c6f3f116ae4bb3fe512c8d5 --- /dev/null +++ b/analysis/python/app/analysis.go @@ -0,0 +1,45 @@ +package app + +import ( + "encoding/json" + "github.com/phodal/coca/cmd/cmd_util" + "github.com/phodal/coca/pkg/adapter/cocafile" + "github.com/phodal/coca/pkg/application/analysis/pyapp" + "github.com/phodal/coca/pkg/appliction/analysis" + "github.com/phodal/coca/pkg/domain/core_domain" + "github.com/spf13/cobra" +) + +type AnalysisCmdConfig struct { + Path string + ForceUpdate bool + Lang string +} + +var ( + analysisCmdConfig AnalysisCmdConfig +) + +var analysisCmd = &cobra.Command{ + Use: "analysis", + Short: "analysis code", + Long: ``, + Run: func(cmd *cobra.Command, args []string) { + var outputName string + var ds []core_domain.CodeDataStruct + + ds = analysis.CommonAnalysis(output, analysisCmdConfig.Path, new(pyapp.PythonIdentApp), cocafile.GoFileFilter, true) + outputName = "pydeps.json" + + cModel, _ := json.MarshalIndent(ds, "", "\t") + cmd_util.WriteToCocaFile(outputName, string(cModel)) + }, +} + +func init() { + rootCmd.AddCommand(analysisCmd) + + analysisCmd.PersistentFlags().StringVarP(&analysisCmdConfig.Path, "path", "p", ".", "example -p core/main") + analysisCmd.PersistentFlags().StringVarP(&analysisCmdConfig.Lang, "lang", "l", "java", "example coca analysis -l java, typescript, python") + analysisCmd.PersistentFlags().BoolVarP(&analysisCmdConfig.ForceUpdate, "force", "f", false, "force update -f") +} diff --git a/analysis/python/app/root.go b/analysis/python/app/root.go new file mode 100644 index 0000000000000000000000000000000000000000..e753294a6fbd7ed1b380b5b8c3e966dfc6a5e91a --- /dev/null +++ b/analysis/python/app/root.go @@ -0,0 +1,21 @@ +package app + +import ( + "github.com/spf13/cobra" + "io" +) + +var ( + output io.Writer + rootCmd = &cobra.Command{ + Use: "coa", + Short: "A generator for Cobra based Applications", + Long: `coa`, + } +) + +func NewRootCmd(out io.Writer) *cobra.Command { + output = out + rootCmd.SetOut(out) + return rootCmd +} diff --git a/analysis/python/main.go b/analysis/python/main.go new file mode 100644 index 0000000000000000000000000000000000000000..d742443ea71b71160d0893cf64e301e508a2ef50 --- /dev/null +++ b/analysis/python/main.go @@ -0,0 +1,12 @@ +package main + +import ( + "github.com/phodal/coca/analysis/python/app" + "os" +) + +func main() { + output := os.Stdout + rootCmd := app.NewRootCmd(output) + _ = rootCmd.Execute() +} diff --git a/analysis/typescript/.gitkeep b/analysis/typescript/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/analysis/typescript/app/analysis.go b/analysis/typescript/app/analysis.go new file mode 100644 index 0000000000000000000000000000000000000000..40423fcb503d697df6444665db32d25e014589bf --- /dev/null +++ b/analysis/typescript/app/analysis.go @@ -0,0 +1,44 @@ +package app + +import ( + "encoding/json" + "github.com/phodal/coca/cmd/cmd_util" + "github.com/phodal/coca/pkg/adapter/cocafile" + "github.com/phodal/coca/pkg/application/analysis/tsapp" + "github.com/phodal/coca/pkg/appliction/analysis" + "github.com/phodal/coca/pkg/domain/core_domain" + "github.com/spf13/cobra" +) + +type AnalysisCmdConfig struct { + Path string + ForceUpdate bool + Lang string +} + +var ( + analysisCmdConfig AnalysisCmdConfig +) + +var analysisCmd = &cobra.Command{ + Use: "analysis", + Short: "analysis code", + Long: ``, + Run: func(cmd *cobra.Command, args []string) { + var outputName string + var ds []core_domain.CodeDataStruct + + ds = analysis.CommonAnalysis(output, analysisCmdConfig.Path, new(tsapp.TypeScriptIdentApp), cocafile.GoFileFilter, true) + outputName = "pydeps.json" + + cModel, _ := json.MarshalIndent(ds, "", "\t") + cmd_util.WriteToCocaFile(outputName, string(cModel)) + }, +} +func init() { + rootCmd.AddCommand(analysisCmd) + + analysisCmd.PersistentFlags().StringVarP(&analysisCmdConfig.Path, "path", "p", ".", "example -p core/main") + analysisCmd.PersistentFlags().StringVarP(&analysisCmdConfig.Lang, "lang", "l", "java", "example coca analysis -l java, typescript, python") + analysisCmd.PersistentFlags().BoolVarP(&analysisCmdConfig.ForceUpdate, "force", "f", false, "force update -f") +} diff --git a/analysis/typescript/app/root.go b/analysis/typescript/app/root.go new file mode 100644 index 0000000000000000000000000000000000000000..e753294a6fbd7ed1b380b5b8c3e966dfc6a5e91a --- /dev/null +++ b/analysis/typescript/app/root.go @@ -0,0 +1,21 @@ +package app + +import ( + "github.com/spf13/cobra" + "io" +) + +var ( + output io.Writer + rootCmd = &cobra.Command{ + Use: "coa", + Short: "A generator for Cobra based Applications", + Long: `coa`, + } +) + +func NewRootCmd(out io.Writer) *cobra.Command { + output = out + rootCmd.SetOut(out) + return rootCmd +} diff --git a/analysis/typescript/main.go b/analysis/typescript/main.go new file mode 100644 index 0000000000000000000000000000000000000000..5337f980b0130c4120402f8709f85b8b36252979 --- /dev/null +++ b/analysis/typescript/main.go @@ -0,0 +1,12 @@ +package main + +import ( + "github.com/phodal/coca/analysis/typescript/app" + "os" +) + +func main() { + output := os.Stdout + rootCmd := app.NewRootCmd(output) + _ = rootCmd.Execute() +} diff --git a/cmd/analysis.go b/cmd/analysis.go index 7612b378f82d2b1f8501c0b0c6226c51056e7e66..5454e6695d3dbe2bd1948d74bc40afc29e5ab3f8 100644 --- a/cmd/analysis.go +++ b/cmd/analysis.go @@ -12,7 +12,6 @@ import ( type AnalysisCmdConfig struct { Path string UpdateIdentify bool - Lang string } var ( @@ -26,37 +25,14 @@ var analysisCmd = &cobra.Command{ Run: func(cmd *cobra.Command, args []string) { var outputName string var ds []core_domain.CodeDataStruct - switch analysisCmdConfig.Lang { - //case "go": - // ds = AnalysisGo() - // outputName = "godeps.json" - //case "py", "python": - // ds = AnalysisPython() - // outputName = "pydeps.json" - //case "ts", "typescript": - // ds = AnalysisTypeScript() - // outputName = "tsdeps.json" - default: - ds = AnalysisJava() - outputName = "deps.json" - } + + ds = AnalysisJava() + outputName = "deps.json" cModel, _ := json.MarshalIndent(ds, "", "\t") cmd_util.WriteToCocaFile(outputName, string(cModel)) }, } -// -//func AnalysisTypeScript() []core_domain.CodeDataStruct { -// return analysis.CommonAnalysis(output, analysisCmdConfig.Path, new(tsapp.TypeScriptIdentApp), cocafile.TypeScriptFileFilter, true) -//} -// -//func AnalysisPython() []core_domain.CodeDataStruct { -// return analysis.CommonAnalysis(output, analysisCmdConfig.Path, new(pyapp.PythonIdentApp), cocafile.PythonFileFilter, true) -//} -// -//func AnalysisGo() []core_domain.CodeDataStruct { -// return analysis.CommonAnalysis(output, analysisCmdConfig.Path, new(goapp.GoIdentApp), cocafile.GoFileFilter, true) -//} func AnalysisJava() []core_domain.CodeDataStruct { importPath := analysisCmdConfig.Path @@ -84,6 +60,6 @@ func init() { rootCmd.AddCommand(analysisCmd) analysisCmd.PersistentFlags().StringVarP(&analysisCmdConfig.Path, "path", "p", ".", "example -p core/main") - analysisCmd.PersistentFlags().StringVarP(&analysisCmdConfig.Lang, "lang", "l", "java", "example coca analysis -l java, typescript, python") + //analysisCmd.PersistentFlags().StringVarP(&analysisCmdConfig.Lang, "lang", "l", "java", "example coca analysis -l java, typescript, python") analysisCmd.PersistentFlags().BoolVarP(&analysisCmdConfig.UpdateIdentify, "identify", "i", true, "use current identify") } diff --git a/cmd/analysis_test.go b/cmd/analysis_test.go index 6148f3c18d79934db596f8e08cf09dad687b4562..de35a69907b01e9de74e5adbf627405c09d7d4a5 100644 --- a/cmd/analysis_test.go +++ b/cmd/analysis_test.go @@ -5,35 +5,13 @@ import ( "testing" ) -func Test_Analysis_Go(t *testing.T) { +func Test_Analysis_Java(t *testing.T) { path := "config" analysis := []testcase.CmdTestCase{{ Name: "analysis", - Cmd: "analysis -l go -p " + path, - Golden: "testdata/analysis_go.txt", - }} - RunTestCmd(t, analysis) -} - -func Test_Analysis_Python(t *testing.T) { - path := "../_fixtures/grammar/python" - - analysis := []testcase.CmdTestCase{{ - Name: "analysis", - Cmd: "analysis -l py -p " + path, - Golden: "testdata/analysis_python.txt", - }} - RunTestCmd(t, analysis) -} - -func Test_Analysis_TypeScript(t *testing.T) { - path := "../_fixtures/grammar/typescript" - - analysis := []testcase.CmdTestCase{{ - Name: "analysis", - Cmd: "analysis -l ts -p " + path, - Golden: "testdata/analysis_typescript.txt", + Cmd: "analysis -p " + path, + Golden: "testdata/analysis_java.txt", }} RunTestCmd(t, analysis) } diff --git a/cmd/api_test.go b/cmd/api_test.go index 4ca5cf54923007efe37e9f228a2ed4f337975a64..f42372f0da67cac8f6b5ae2d319321ac785b20fe 100644 --- a/cmd/api_test.go +++ b/cmd/api_test.go @@ -10,7 +10,7 @@ func TestApi(t *testing.T) { analysis := []testcase.CmdTestCase{{ Name: "analysis", - Cmd: "analysis -l java -p " + path, + Cmd: "analysis -p " + path, Golden: "", }} RunTestCmd(t, analysis) diff --git a/cmd/testdata/analysis_go.txt b/cmd/testdata/analysis_go.txt deleted file mode 100644 index 3971e3d627d97adecf7d54acfd62fe1a64b45352..0000000000000000000000000000000000000000 --- a/cmd/testdata/analysis_go.txt +++ /dev/null @@ -1 +0,0 @@ -Process file: config/cmd_config.go diff --git a/analysis/python/.gitkeep b/cmd/testdata/analysis_java.txt similarity index 100% rename from analysis/python/.gitkeep rename to cmd/testdata/analysis_java.txt diff --git a/cmd/testdata/analysis_python.txt b/cmd/testdata/analysis_python.txt deleted file mode 100644 index 8a28da5c8256c66331e926eaf4237036aff8954d..0000000000000000000000000000000000000000 --- a/cmd/testdata/analysis_python.txt +++ /dev/null @@ -1 +0,0 @@ -Process file: ../_fixtures/grammar/python/blog_entity.py diff --git a/cmd/testdata/analysis_typescript.txt b/cmd/testdata/analysis_typescript.txt deleted file mode 100644 index f120270565ca61fc6602c628539706a172786139..0000000000000000000000000000000000000000 --- a/cmd/testdata/analysis_typescript.txt +++ /dev/null @@ -1 +0,0 @@ -Process file: ../_fixtures/grammar/typescript/Class.ts