8000 feat: added dotnet template by mahendraintelops · Pull Request #189 · intelops/compage · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

feat: added dotnet template #189

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 36 commits into from
Dec 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
c43db4e
feat: added dotnet template
mahendraintelops Nov 27, 2023
4fcf65d
feat: added dotnet support
mahendraintelops Dec 2, 2023
6e78f94
feat: added basic structure
mahendraintelops Dec 2, 2023
34a0a7e
fix: added more logger
mahendraintelops Dec 2, 2023
d8c830c
refactoring: changed directory name
mahendraintelops Dec 2, 2023
2f89a04
enhancement: added filePath constants
mahendraintelops Dec 3, 2023
b7f6690
enhancement: created directories for dotnet project
mahendraintelops Dec 4, 2023
a5365c9
enhancement: created sub-directories for Applications
mahendraintelops Dec 5, 2023
360b2fe
enhancement: added further directories
mahendraintelops Dec 7, 2023
1baeffe
fix: removed unused functions
mahendraintelops Dec 8, 2023
a7ef1f9
fix: removed unused directory creation
mahendraintelops Dec 8, 2023
d8c3772
refactoring: nodeDirectoryName for dotnet is not in kebabcase but in …
mahendraintelops Dec 8, 2023
b4f143c
enhancement: added core files at root level in core directory
mahendraintelops Dec 8, 2023
a70978b
fix: repo names in test
mahendraintelops Dec 8, 2023
1164162
enhancement: added infrastructure files
mahendraintelops Dec 8, 2023
f157488
enhancement: a 8000 dded application files
mahendraintelops Dec 8, 2023
7e8e628
enhancement: added tests files
mahendraintelops Dec 8, 2023
65018ee
enhancement: added application/commands files
mahendraintelops Dec 9, 2023
e9e09fe
enhancement: added application/exceptions files
mahendraintelops Dec 9, 2023
fa264f3
enhancement: added application/handlers files
mahendraintelops Dec 9, 2023
f8c8ff7
enhancement: added application/mappers files
mahendraintelops Dec 10, 2023
081242c
enhancement: added application/queries files
mahendraintelops Dec 10, 2023
0043fbb
enhancement: added application/responses files
mahendraintelops Dec 10, 2023
d01d0bc
enhancement: added core/entities files
mahendraintelops Dec 10, 2023
f4cfa58
refactoring: added pointers where required for filePaths and golintin…
mahendraintelops Dec 10, 2023
a58a648
enhancement: added core/repositories files
mahendraintelops Dec 10, 2023
c72e045
enhancement: added infrastructure/databaseContext files
mahendraintelops Dec 10, 2023
886899d
enhancement: added infrastructure/extensions/ServiceCollectionExtensi…
mahendraintelops Dec 10, 2023
5094377
enhancement: added infrastructure/repositories files
mahendraintelops Dec 10, 2023
6fcbbeb
enhancement: added default methods for dotnet
mahendraintelops Dec 10, 2023
3b6b9f2
enhancement: added microServiceName/controllers files
mahendraintelops Dec 10, 2023
c742a73
enhancement: added microServiceName/Properties files
mahendraintelops Dec 10, 2023
d86ef74
enhancement: added microServiceSln file
mahendraintelops Dec 10, 2023
afec457
enhancement: added List method
mahendraintelops Dec 10, 2023
678b45b
enhancement: added opentel and honeycomb integration
mahendraintelops Dec 10, 2023
613b299
enhancement: added docker and k8s integration
mahendraintelops Dec 10, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions cmd/pullTemplates.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ var pullTemplatesCmd = &cobra.Command{
cobra.CheckErr(err)
err = CloneOrPullRepository("typescript")
cobra.CheckErr(err)
err = CloneOrPullRepository("dotnet")
cobra.CheckErr(err)
} else {
err := CloneOrPullRepository(languageTemplate)
cobra.CheckErr(err)
Expand Down
4 changes: 3 additions & 1 deletion cmd/start.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ This command will start thr gRPC server and allow the gRPC clients to get connec
defer func() {
if grpcTraceProvider != nil {
if err := grpcTraceProvider.Shutdown(context.Background()); err != nil {
log.Printf("Error shutting down tracer provider: %v", err)
log.Errorf("Error shutting down tracer provider: %v", err)
}
}
}()
Expand All @@ -65,6 +65,8 @@ This command will start thr gRPC server and allow the gRPC clients to get connec
cobra.CheckErr(err)
err = CloneOrPullRepository("typescript")
cobra.CheckErr(err)
err = CloneOrPullRepository("dotnet")
cobra.CheckErr(err)

// check if the git submodules have been pulled (mainly need to check this on developer's machine)
if checkIfGitSubmodulesExist() {
Expand Down
2 changes: 2 additions & 0 deletions grpc/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,7 @@ func sendFile(projectName string, server project.ProjectService_GenerateCodeServ
return status.Error(codes.NotFound, "file is not found")
}
if err := server.SendHeader(f.Metadata()); err != nil {
log.Errorf("err : %s", err)
return status.Error(codes.Internal, "error during sending header")
}
fileChunk := &project.GenerateCodeResponse{FileChunk: make([]byte, chunkSize)}
Expand All @@ -105,6 +106,7 @@ Loop:
fileChunk.FileChunk = fileChunk.FileChunk[:n]
serverErr := server.Send(fileChunk)
if serverErr != nil {
log.Errorf("err : %s", serverErr)
return status.Errorf(codes.Internal, "server.Send: %v", serverErr)
}
}
Expand Down
18 changes: 8 additions & 10 deletions internal/handlers/projects.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"github.com/intelops/compage/internal/integrations/deepsource"
"github.com/intelops/compage/internal/integrations/readme"
"github.com/intelops/compage/internal/languages"
"github.com/intelops/compage/internal/languages/dotnet"
"github.com/intelops/compage/internal/languages/golang"
"github.com/intelops/compage/internal/languages/java"
"github.com/intelops/compage/internal/languages/javascript"
Expand Down Expand Up @@ -79,16 +80,6 @@ func processNode(coreProject *core.Project, compageNode *corenode.Node) error {
// add values(LanguageNode and configs from coreProject) to context.
languageCtx := languages.AddValuesToContext(context.Background(), coreProject, languageNode)

// extract nodeDirectoryName for formatter
values := languageCtx.Value(languages.ContextKeyLanguageContextVars).(languages.Values)
nodeDirectoryName := values.NodeDirectoryName

// create node directory in projectDirectory depicting a subproject
if err0 := utils.CreateDirectories(nodeDirectoryName); err0 != nil {
log.Errorf("err : %s", err0)
return err0
}

err = runLanguageProcess(languageNode, languageCtx)
if err != nil {
log.Errorf("err : %s", err)
Expand Down Expand Up @@ -148,6 +139,13 @@ func runLanguageProcess(languageNode *languages.LanguageNode, languageCtx contex
log.Errorf("err : %s", err1)
return err1
}
} else if languageNode.Language == languages.DotNet {
// add values(LanguageNode and configs from coreProject) to context.
dotnetCtx := dotnet.AddValuesToContext(languageCtx)
if err1 := dotnet.Process(dotnetCtx); err1 != nil {
log.Debugf("err : %s", err1)
return err1
}
}
return nil
}
33 changes: 33 additions & 0 deletions internal/languages/dotnet/context.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package dotnet

import (
"context"
"github.com/intelops/compage/internal/languages"
)

type contextKey string

func (c contextKey) String() string {
return string(c)
}

var (
contextKeyDotNetContextVars = contextKey("DotNetContextVars")
)

type DotNetValues struct {
Values *languages.Values
LDotNetLangNode *LDotNetLangNode
}

func AddValuesToContext(ctx context.Context) context.Context {
values := ctx.Value(languages.ContextKeyLanguageContextVars).(languages.Values)
v := DotNetValues{
Values: &values,
LDotNetLangNode: &LDotNetLangNode{
LanguageNode: values.LanguageNode,
},
}

return context.WithValue(ctx, contextKeyDotNetContextVars, v)
}
Loading
0