diff --git a/src/main/groovy/io/openliberty/tools/gradle/tasks/AbstractServerTask.groovy b/src/main/groovy/io/openliberty/tools/gradle/tasks/AbstractServerTask.groovy index 78e3f8ed..0ffd4387 100644 --- a/src/main/groovy/io/openliberty/tools/gradle/tasks/AbstractServerTask.groovy +++ b/src/main/groovy/io/openliberty/tools/gradle/tasks/AbstractServerTask.groovy @@ -23,8 +23,8 @@ import io.openliberty.tools.common.plugins.config.ApplicationXmlDocument import io.openliberty.tools.common.plugins.config.ServerConfigDocument import io.openliberty.tools.common.plugins.config.ServerConfigXmlDocument import io.openliberty.tools.common.plugins.util.DevUtil +import io.openliberty.tools.common.plugins.util.LibertyPropFilesUtility import io.openliberty.tools.common.plugins.util.PluginExecutionException -import io.openliberty.tools.common.plugins.util.ServerFeatureUtil import io.openliberty.tools.gradle.utils.CommonLogger import org.apache.commons.io.FileUtils import org.apache.commons.io.FilenameUtils @@ -506,11 +506,11 @@ abstract class AbstractServerTask extends AbstractLibertyTask { configureMultipleAppsConfigDropins(serverNode) } - protected ServerConfigDocument getServerConfigDocument(CommonLogger log, File serverXML, Map libertyDirPropertyFiles) throws IOException { + protected ServerConfigDocument getServerConfigDocument(CommonLogger log, File serverXML) throws IOException { if (scd == null || !scd.getOriginalServerXMLFile().getCanonicalPath().equals(serverXML.getCanonicalPath())) { try { - scd = new ServerConfigDocument(log, serverXML, libertyDirPropertyFiles); + scd = new ServerConfigDocument(log, serverXML, getInstallDir(project), getUserDir(project), getServerDir(project)); } catch (PluginExecutionException e) { throw new GradleException(e.getMessage()); } @@ -525,7 +525,7 @@ abstract class AbstractServerTask extends AbstractLibertyTask { if (serverConfigFile != null && serverConfigFile.exists()) { try { Map props = combinedBootstrapProperties == null ? convertPropertiesToMap(server.bootstrapProperties) : combinedBootstrapProperties; - getServerConfigDocument(new CommonLogger(project), serverConfigFile, getLibertyDirectoryPropertyFiles(null)); + getServerConfigDocument(new CommonLogger(project), serverConfigFile); if (scd != null && isLocationFound( scd.getLocations(), fileName)) { logger.debug("Application configuration is found in server.xml : " + fileName) configured = true @@ -1138,57 +1138,18 @@ abstract class AbstractServerTask extends AbstractLibertyTask { return serverTask } - static public Map getLibertyDirectoryPropertyFiles(File installDir, File userDir, File serverDir) throws Exception { - Map libertyDirectoryPropertyToFile = new HashMap() + protected Map getLibertyDirectoryPropertyFiles(String serverDirectoryParam) { - if (serverDir.exists()) { - libertyDirectoryPropertyToFile.put(ServerFeatureUtil.SERVER_CONFIG_DIR, serverDir.getCanonicalFile()) - - libertyDirectoryPropertyToFile.put(ServerFeatureUtil.WLP_INSTALL_DIR, installDir.getCanonicalFile()) - - libertyDirectoryPropertyToFile.put(ServerFeatureUtil.WLP_USER_DIR, userDir.getCanonicalFile()) - - File userExtDir = new File(userDir, "extension") - libertyDirectoryPropertyToFile.put(ServerFeatureUtil.USR_EXTENSION_DIR, userExtDir.getCanonicalFile()) - - File userSharedDir = new File(userDir, "shared") - File userSharedAppDir = new File(userSharedDir, "app") - File userSharedConfigDir = new File(userSharedDir, "config") - File userSharedResourcesDir = new File(userSharedDir, "resources") - File userSharedStackGroupsDir = new File(userSharedDir, "stackGroups") - - libertyDirectoryPropertyToFile.put(ServerFeatureUtil.SHARED_APP_DIR, userSharedAppDir.getCanonicalFile()) - libertyDirectoryPropertyToFile.put(ServerFeatureUtil.SHARED_CONFIG_DIR, userSharedConfigDir.getCanonicalFile()) - libertyDirectoryPropertyToFile.put(ServerFeatureUtil.SHARED_RESOURCES_DIR, userSharedResourcesDir.getCanonicalFile()) - libertyDirectoryPropertyToFile.put(ServerFeatureUtil.SHARED_STACKGROUP_DIR, userSharedStackGroupsDir.getCanonicalFile()) - } - return libertyDirectoryPropertyToFile - } - - protected Map getLibertyDirectoryPropertyFiles(String serverDirectoryParam) { - File serverConfigDir = getServerDir(project) // if DevMode provides a server directory parameter use that for finding the server config dir if (serverDirectoryParam != null) { serverConfigDir = new File(serverDirectoryParam) } + File wlpInstallDir = getInstallDir(project) + File wlpUserDir = getUserDir(project, wlpInstallDir) - if (serverConfigDir.exists()) { - try { - File wlpInstallDir = getInstallDir(project) - File wlpUserDir = getUserDir(project, wlpInstallDir) - - return getLibertyDirectoryPropertyFiles(wlpInstallDir, wlpUserDir, serverConfigDir) - } catch (Exception e) { - logger.warn("The properties for directories could not be initialized because an error occurred when accessing the directories.") - logger.debug("Exception received: "+e.getMessage(), (Throwable) e) - } - } else { - logger.warn("The " + serverConfigDir + " directory cannot be accessed. The properties for directories could not be initialized.") - } - - return new HashMap () + return LibertyPropFilesUtility.getLibertyDirectoryPropertyFiles(new CommonLogger(project), wlpInstallDir, wlpUserDir, serverConfigDir) } // Return the loose application configuration xml file diff --git a/src/main/groovy/io/openliberty/tools/gradle/tasks/DeployTask.groovy b/src/main/groovy/io/openliberty/tools/gradle/tasks/DeployTask.groovy index 6a0fe34c..584a979a 100644 --- a/src/main/groovy/io/openliberty/tools/gradle/tasks/DeployTask.groovy +++ b/src/main/groovy/io/openliberty/tools/gradle/tasks/DeployTask.groovy @@ -211,7 +211,7 @@ class DeployTask extends AbstractServerTask { params.put('targetLibCachePath', getTargetLibCachePath()) File serverXML = new File(getServerDir(project).getCanonicalPath(), "server.xml") - ServerConfigDocument scd = getServerConfigDocument(new CommonLogger(project), serverXML, getLibertyDirectoryPropertyFiles(null)) + ServerConfigDocument scd = getServerConfigDocument(new CommonLogger(project), serverXML) if (scd != null && scd.getSpringBootAppNodeLocation().isPresent()) { targetThinAppPath = getTargetThinAppPath(appsDir, scd.getSpringBootAppNodeLocation().get()) } else { @@ -690,7 +690,7 @@ class DeployTask extends AbstractServerTask { File serverXML = new File(getServerDir(project).getCanonicalPath(), "server.xml") try { - scd = getServerConfigDocument(new CommonLogger(project), serverXML, getLibertyDirectoryPropertyFiles(null)) + scd = getServerConfigDocument(new CommonLogger(project), serverXML) //appName will be set to a name derived from appFile if no name can be found. appName = scd.findNameForLocation(appFile) diff --git a/src/main/groovy/io/openliberty/tools/gradle/tasks/DevTask.groovy b/src/main/groovy/io/openliberty/tools/gradle/tasks/DevTask.groovy index 46274efc..d040b29e 100644 --- a/src/main/groovy/io/openliberty/tools/gradle/tasks/DevTask.groovy +++ b/src/main/groovy/io/openliberty/tools/gradle/tasks/DevTask.groovy @@ -21,12 +21,14 @@ import io.openliberty.tools.common.plugins.util.BinaryScannerUtil import io.openliberty.tools.common.plugins.util.DevUtil import io.openliberty.tools.common.plugins.util.InstallFeatureUtil import io.openliberty.tools.common.plugins.util.JavaCompilerOptions +import io.openliberty.tools.common.plugins.util.LibertyPropFilesUtility import io.openliberty.tools.common.plugins.util.PluginExecutionException import io.openliberty.tools.common.plugins.util.PluginScenarioException import io.openliberty.tools.common.plugins.util.ProjectModule import io.openliberty.tools.common.plugins.util.ServerFeatureUtil import io.openliberty.tools.common.plugins.util.ServerFeatureUtil.FeaturesPlatforms import io.openliberty.tools.common.plugins.util.ServerStatusUtil +import io.openliberty.tools.gradle.utils.CommonLogger import io.openliberty.tools.gradle.utils.DevTaskHelper import org.gradle.api.GradleException import org.gradle.api.Project @@ -386,7 +388,7 @@ class DevTask extends AbstractFeatureTask { null /* compileOptions not needed since useBuildRecompile is true */, keepTempContainerfile, mavenCacheLocation, projectModuleList /* multi module upstream projects */, projectModuleList.size() > 0 /* recompileDependencies as true for multi module */, packagingType, buildFile, parentBuildGradle /* parent build files */, generateFeatures, null /* compileArtifactPaths */, null /* testArtifactPaths */, webResourceDirs /* webResources */ ); - this.libertyDirPropertyFiles = AbstractServerTask.getLibertyDirectoryPropertyFiles(installDirectory, userDirectory, serverDirectory); + this.libertyDirPropertyFiles = LibertyPropFilesUtility.getLibertyDirectoryPropertyFiles(new CommonLogger(project), installDirectory, userDirectory, serverDirectory); ServerFeatureUtil servUtil = getServerFeatureUtil(true, libertyDirPropertyFiles); FeaturesPlatforms fp = servUtil.getServerFeatures(serverDirectory, libertyDirPropertyFiles); diff --git a/src/main/groovy/io/openliberty/tools/gradle/tasks/StartTask.groovy b/src/main/groovy/io/openliberty/tools/gradle/tasks/StartTask.groovy index d952daeb..cfad8a81 100644 --- a/src/main/groovy/io/openliberty/tools/gradle/tasks/StartTask.groovy +++ b/src/main/groovy/io/openliberty/tools/gradle/tasks/StartTask.groovy @@ -80,7 +80,7 @@ class StartTask extends AbstractServerTask { File serverConfigFile = new File(getServerDir(project), 'server.xml') if (serverConfigFile != null && serverConfigFile.exists()) { try { - getServerConfigDocument(new CommonLogger(project), serverConfigFile, getLibertyDirectoryPropertyFiles(null)); + getServerConfigDocument(new CommonLogger(project), serverConfigFile); if (scd != null) { appNames = scd.getNames() appNames += scd.getNamelessLocations().collect { String location -> diff --git a/src/main/groovy/io/openliberty/tools/gradle/tasks/UndeployTask.groovy b/src/main/groovy/io/openliberty/tools/gradle/tasks/UndeployTask.groovy index 9f02109c..ab1334f5 100644 --- a/src/main/groovy/io/openliberty/tools/gradle/tasks/UndeployTask.groovy +++ b/src/main/groovy/io/openliberty/tools/gradle/tasks/UndeployTask.groovy @@ -18,10 +18,8 @@ package io.openliberty.tools.gradle.tasks import org.gradle.api.GradleException import org.gradle.api.Task import org.gradle.api.tasks.TaskAction -import org.gradle.api.logging.LogLevel import io.openliberty.tools.ant.ServerTask -import io.openliberty.tools.common.plugins.config.ServerConfigDocument import io.openliberty.tools.gradle.utils.CommonLogger @@ -79,7 +77,7 @@ class UndeployTask extends AbstractServerTask { File serverXML = new File(getServerDir(project).getCanonicalPath(), "server.xml") try { - getServerConfigDocument(new CommonLogger(project), serverXML, getLibertyDirectoryPropertyFiles(null)) + getServerConfigDocument(new CommonLogger(project), serverXML) //appName will be set to a name derived from appFile if no name can be found. appName = scd.findNameForLocation(file)