in internal/core/startup/prepare.go [167:213]
func prepareContainerSpecificDirectories(prod product.Product, cacheDir string, confDir string) {
homeDir, err := os.UserHomeDir()
if err != nil {
log.Fatal(err)
}
userPrefsDir := filepath.Join(homeDir, ".java", ".userPrefs")
MakeDirAll(userPrefsDir)
switch prod.BaseScriptName {
case product.Rider:
nugetDir := filepath.Join(cacheDir, nugetDir)
if err := os.Setenv("NUGET_PACKAGES", nugetDir); err != nil {
log.Fatal(err)
}
MakeDirAll(nugetDir)
case product.Idea:
MakeDirAll(filepath.Join(cacheDir, m2))
if err = os.Setenv("GRADLE_USER_HOME", filepath.Join(cacheDir, "gradle")); err != nil {
log.Fatal(err)
}
}
writeFileIfNew(filepath.Join(userPrefsDir, "prefs.xml"), userPrefsXml)
ideaOptions := filepath.Join(confDir, "options")
if prod.BaseScriptName == product.Idea {
mavenRootDir := filepath.Join(homeDir, ".m2")
if _, err = os.Stat(mavenRootDir); os.IsNotExist(err) {
if err = os.MkdirAll(mavenRootDir, 0o755); err != nil {
log.Fatal(err)
}
}
writeFileIfNew(filepath.Join(mavenRootDir, "settings.xml"), mavenSettingsXml)
writeFileIfNew(filepath.Join(ideaOptions, "path.macros.xml"), mavenPathMacroxXml)
androidSdk := os.Getenv(qdenv.AndroidSdkRoot)
if androidSdk != "" {
writeFileIfNew(filepath.Join(ideaOptions, "project.default.xml"), androidProjectDefaultXml(androidSdk))
corettoSdk := os.Getenv(qdenv.QodanaCorettoSdk)
if corettoSdk != "" {
writeFileIfNew(filepath.Join(ideaOptions, "jdk.table.xml"), jdkTableXml(corettoSdk))
}
}
}
}