diff options
Diffstat (limited to 'config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java')
-rw-r--r-- | config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java index ffc975d8668..341e22ce312 100644 --- a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java +++ b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java @@ -616,13 +616,21 @@ public class FilesApplicationPackage implements ApplicationPackage { ! name.equals(SERVICES) && ! name.equals(HOSTS) && ! name.equals(CONFIG_DEFINITIONS_DIR)); - preprocessXML(new File(preprocessedDir, SERVICES), getServicesFile(), zone); + File servicesFile = validateServicesFile(); + preprocessXML(new File(preprocessedDir, SERVICES), servicesFile, zone); preprocessXML(new File(preprocessedDir, HOSTS), getHostsFile(), zone); FilesApplicationPackage preprocessed = FilesApplicationPackage.fromFile(preprocessedDir, includeSourceFiles); preprocessed.copyUserDefsIntoApplication(); return preprocessed; } + private File validateServicesFile() throws IOException { + File servicesFile = getServicesFile(); + if ( ! servicesFile.exists() || IOUtils.readFile(servicesFile).isEmpty()) + throw new IllegalArgumentException(SERVICES + " in application package is empty"); + return servicesFile; + } + private void copyUserDefsIntoApplication() { File destination = appSubDirs.configDefs(); destination.mkdir(); |