Skip to content

Commit

Permalink
Switch Javadoc version while switching Java (#9)
Browse files Browse the repository at this point in the history
* Update the javadoc path while switching java versions

* Fix re-assigning variable
  • Loading branch information
Robert Szuba authored Sep 9, 2021
1 parent 81d4e83 commit e003561
Showing 1 changed file with 25 additions and 4 deletions.
29 changes: 25 additions & 4 deletions javasetter/javasetter.go
Original file line number Diff line number Diff line change
Expand Up @@ -104,14 +104,16 @@ func (j JavaSetter) setJavaMac(version JavaVersion) (Result, error) {
}

func (j JavaSetter) setJavaUbuntu(version JavaVersion) (Result, error) {
javaPath, javaCPath, javaHome := func() (string, string, string) {
javaPath, javaCPath, javadocPath, javaHome := func() (string, string, string, string) {
switch version {
case JavaVersion8:
return "/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java", "/usr/lib/jvm/java-8-openjdk-amd64/bin/javac", "/usr/lib/jvm/java-8-openjdk-amd64"
mainDir := "/usr/lib/jvm/java-8-openjdk-amd64"
return mainDir+"/jre/bin/java", mainDir+"/bin/javac", mainDir+"/bin/javadoc", mainDir
case JavaVersion11:
return "/usr/lib/jvm/java-11-openjdk-amd64/bin/java", "/usr/lib/jvm/java-11-openjdk-amd64/bin/javac", "/usr/lib/jvm/java-11-openjdk-amd64"
mainDir := "/usr/lib/jvm/java-11-openjdk-amd64"
return mainDir+"/bin/java", mainDir+"/bin/javac", mainDir+"/bin/javadoc", mainDir
default:
return "", "", ""
return "", "", "", ""
}
}()

Expand Down Expand Up @@ -153,5 +155,24 @@ func (j JavaSetter) setJavaUbuntu(version JavaVersion) (Result, error) {
if _, err := cmd.RunAndReturnExitCode(); err != nil {
return Result{}, err
}

//
// update-alternatives javadoc
cmd = j.cmdFactory.Create(
"sudo",
[]string{
"update-alternatives",
"--set",
"javadoc",
javadocPath,
},
nil,
)

j.logger.Printf("$ %s", cmd.PrintableCommandArgs())
if _, err := cmd.RunAndReturnExitCode(); err != nil {
return Result{}, err
}

return Result{JavaHome: javaHome}, nil
}

0 comments on commit e003561

Please sign in to comment.