Skip to content

Commit

Permalink
Delete SJAD created Dockerfile. (#106)
Browse files Browse the repository at this point in the history
  • Loading branch information
rujche authored Jan 15, 2025
1 parent 86e2923 commit 1de01c7
Showing 1 changed file with 37 additions and 38 deletions.
75 changes: 37 additions & 38 deletions cli/azd/pkg/project/framework_service_docker.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ import (
"github.com/azure/azure-dev/cli/azd/pkg/output"
"github.com/azure/azure-dev/cli/azd/pkg/tools"
"github.com/azure/azure-dev/cli/azd/pkg/tools/docker"
"github.com/azure/azure-dev/cli/azd/pkg/tools/maven"
"github.com/azure/azure-dev/cli/azd/pkg/tools/pack"
)

Expand Down Expand Up @@ -203,20 +202,20 @@ func (p *dockerProject) Build(
}

// if it's a java project without Dockerfile, we help to package jar and add a default Dockerfile for Docker build
if serviceConfig.Language == ServiceLanguageJava && serviceConfig.Docker.Path == "" {
mvnCli := maven.NewCli(exec.NewCommandRunner(nil))
err := mvnCli.CleanPackage(ctx, serviceConfig.RelativePath, serviceConfig.Project.Path)
if err != nil {
return nil, err
}
defaultDockerfilePath, err := addDefaultDockerfileForJavaProject(serviceConfig.Name)
if err != nil {
return nil, err
}
serviceConfig.Docker = DockerProjectOptions{
Path: defaultDockerfilePath,
}
}
//if serviceConfig.Language == ServiceLanguageJava && serviceConfig.Docker.Path == "" {
// mvnCli := maven.NewCli(exec.NewCommandRunner(nil))
// err := mvnCli.CleanPackage(ctx, serviceConfig.RelativePath, serviceConfig.Project.Path)
// if err != nil {
// return nil, err
// }
// defaultDockerfilePath, err := addDefaultDockerfileForJavaProject(serviceConfig.Name)
// if err != nil {
// return nil, err
// }
// serviceConfig.Docker = DockerProjectOptions{
// Path: defaultDockerfilePath,
// }
//}

dockerOptions := getDockerOptionsWithDefaults(serviceConfig.Docker)

Expand Down Expand Up @@ -639,26 +638,26 @@ func getDockerOptionsWithDefaults(options DockerProjectOptions) DockerProjectOpt
}

// todo: hardcode jdk-21 as base image here, may need more accurate java version detection.
const DefaultDockerfileForJavaProject = `FROM openjdk:21-jdk-slim
COPY ./target/*.jar /app.jar
ENTRYPOINT ["sh", "-c", "java -jar /app.jar"]`

func addDefaultDockerfileForJavaProject(svcName string) (string, error) {
log.Printf("Dockerfile not found for java project %s, will provide a default one", svcName)
dockerfileDir, err := os.MkdirTemp("", svcName)
if err != nil {
return "", fmt.Errorf("error creating temp Dockerfile directory: %w", err)
}

dockerfilePath := filepath.Join(dockerfileDir, "Dockerfile")
file, err := os.Create(dockerfilePath)
if err != nil {
return "", fmt.Errorf("error creating Dockerfile at %s: %w", dockerfilePath, err)
}
defer file.Close()

if _, err = file.WriteString(DefaultDockerfileForJavaProject); err != nil {
return "", fmt.Errorf("error writing Dockerfile at %s: %w", dockerfilePath, err)
}
return dockerfilePath, nil
}
//const DefaultDockerfileForJavaProject = `FROM openjdk:21-jdk-slim
//COPY ./target/*.jar /app.jar
//ENTRYPOINT ["sh", "-c", "java -jar /app.jar"]`
//
//func addDefaultDockerfileForJavaProject(svcName string) (string, error) {
// log.Printf("Dockerfile not found for java project %s, will provide a default one", svcName)
// dockerfileDir, err := os.MkdirTemp("", svcName)
// if err != nil {
// return "", fmt.Errorf("error creating temp Dockerfile directory: %w", err)
// }
//
// dockerfilePath := filepath.Join(dockerfileDir, "Dockerfile")
// file, err := os.Create(dockerfilePath)
// if err != nil {
// return "", fmt.Errorf("error creating Dockerfile at %s: %w", dockerfilePath, err)
// }
// defer file.Close()
//
// if _, err = file.WriteString(DefaultDockerfileForJavaProject); err != nil {
// return "", fmt.Errorf("error writing Dockerfile at %s: %w", dockerfilePath, err)
// }
// return dockerfilePath, nil
//}

0 comments on commit 1de01c7

Please sign in to comment.