summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java5
-rw-r--r--config-application-package/src/test/java/com/yahoo/config/model/application/provider/FilesApplicationPackageTest.java4
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/ApplicationPackage.java16
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/search/SemanticRuleBuilder.java6
-rw-r--r--standalone-container/src/main/scala/com/yahoo/container/standalone/StandaloneContainerApplication.scala9
5 files changed, 27 insertions, 13 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 97322fc1c55..5367bdcf13f 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
@@ -659,6 +659,11 @@ public class FilesApplicationPackage implements ApplicationPackage {
@Override
public ApplicationPackage preprocess(Zone zone, RuleConfigDeriver ignored, DeployLogger logger) throws IOException, TransformerException, ParserConfigurationException, SAXException {
+ return preprocess(zone, logger);
+ }
+
+ @Override
+ public ApplicationPackage preprocess(Zone zone, DeployLogger logger) throws IOException, TransformerException, ParserConfigurationException, SAXException {
IOUtils.recursiveDeleteDir(preprocessedDir);
IOUtils.copyDirectory(appDir, preprocessedDir, -1, (dir, name) -> ! name.equals(".preprocessed") &&
! name.equals(SERVICES) &&
diff --git a/config-application-package/src/test/java/com/yahoo/config/model/application/provider/FilesApplicationPackageTest.java b/config-application-package/src/test/java/com/yahoo/config/model/application/provider/FilesApplicationPackageTest.java
index 89a5769ff0c..5a052851458 100644
--- a/config-application-package/src/test/java/com/yahoo/config/model/application/provider/FilesApplicationPackageTest.java
+++ b/config-application-package/src/test/java/com/yahoo/config/model/application/provider/FilesApplicationPackageTest.java
@@ -76,7 +76,7 @@ public class FilesApplicationPackageTest {
}
@Test
- public void testDeploymentXmlNotAvailable() throws IOException, TransformerException, ParserConfigurationException, SAXException {
+ public void testDeploymentXmlNotAvailable() {
File appDir = new File("src/test/resources/multienvapp");
assertFalse(new File(appDir, "deployment.xml").exists());
FilesApplicationPackage app = FilesApplicationPackage.fromFile(appDir);
@@ -84,7 +84,7 @@ public class FilesApplicationPackageTest {
}
@Test
- public void testDeploymentXml() throws IOException, TransformerException, ParserConfigurationException, SAXException {
+ public void testDeploymentXml() {
File appDir = new File("src/test/resources/app-with-deployment");
final File deployment = new File(appDir, "deployment.xml");
assertTrue(deployment.exists());
diff --git a/config-model-api/src/main/java/com/yahoo/config/application/api/ApplicationPackage.java b/config-model-api/src/main/java/com/yahoo/config/application/api/ApplicationPackage.java
index aca7b595249..acb537debe7 100644
--- a/config-model-api/src/main/java/com/yahoo/config/application/api/ApplicationPackage.java
+++ b/config-model-api/src/main/java/com/yahoo/config/application/api/ApplicationPackage.java
@@ -271,9 +271,25 @@ public interface ApplicationPackage {
*
* @return A new application package instance pointing to a new location
*/
+ // TODO: Remove when last version in use is 6.170
default ApplicationPackage preprocess(Zone zone, RuleConfigDeriver ruleConfigDeriver, DeployLogger logger)
throws IOException, TransformerException, ParserConfigurationException, SAXException {
throw new UnsupportedOperationException("This application package does not support preprocessing");
}
+ /**
+ * Preprocess an application for a given zone and return a new application package pointing to the preprocessed
+ * application package. This is the entry point for the multi environment application package support. This method
+ * will not mutate the existing application package.
+ *
+ * @param zone A valid {@link Zone} instance, used to decide which parts of services to keep and remove
+ * @param logger A {@link DeployLogger} to add output that will be returned to the user
+ *
+ * @return A new application package instance pointing to a new location
+ */
+ default ApplicationPackage preprocess(Zone zone, DeployLogger logger)
+ throws IOException, TransformerException, ParserConfigurationException, SAXException {
+ throw new UnsupportedOperationException("This application package does not support preprocessing");
+ }
+
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/search/SemanticRuleBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/search/SemanticRuleBuilder.java
index 17d1841cf0c..372e196b3d8 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/search/SemanticRuleBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/search/SemanticRuleBuilder.java
@@ -4,18 +4,14 @@ package com.yahoo.vespa.model.container.search;
import com.yahoo.config.application.api.ApplicationPackage;
import com.yahoo.io.IOUtils;
import com.yahoo.io.reader.NamedReader;
-import com.yahoo.prelude.semantics.RuleBase;
-import com.yahoo.prelude.semantics.RuleImporter;
-import com.yahoo.prelude.semantics.parser.ParseException;
-import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.util.List;
import java.util.stream.Collectors;
/**
- * Reads the semantic rules from the application package by delegating to RuleConfigDeriver.
+ * Reads the semantic rules from the application package by delegating to SemanticRules.
*
* @author bratseth
*/
diff --git a/standalone-container/src/main/scala/com/yahoo/container/standalone/StandaloneContainerApplication.scala b/standalone-container/src/main/scala/com/yahoo/container/standalone/StandaloneContainerApplication.scala
index 1d4b83ce7d3..1f3ff652224 100644
--- a/standalone-container/src/main/scala/com/yahoo/container/standalone/StandaloneContainerApplication.scala
+++ b/standalone-container/src/main/scala/com/yahoo/container/standalone/StandaloneContainerApplication.scala
@@ -8,7 +8,7 @@ import java.nio.file.{FileSystems, Files, Path, Paths}
import com.google.inject.name.Names
import com.google.inject.{AbstractModule, Inject, Injector, Key}
import com.yahoo.collections.CollectionUtil.first
-import com.yahoo.config.application.api.{ApplicationPackage, FileRegistry, RuleConfigDeriver}
+import com.yahoo.config.application.api.{ApplicationPackage, FileRegistry}
import com.yahoo.config.model.application.provider._
import com.yahoo.config.model.builder.xml.XmlHelper
import com.yahoo.config.model.deploy.DeployState
@@ -33,7 +33,7 @@ import scala.collection.JavaConverters._
import scala.util.Try
/**
- * @author tonytv
+ * @author Tony Vaagenes
* @author gjoranv
*/
class StandaloneContainerApplication @Inject()(injector: Injector) extends Application {
@@ -157,10 +157,7 @@ object StandaloneContainerApplication {
configModelRepo: ConfigModelRepo = new ConfigModelRepo): (VespaModel, Container) = {
val logger = new BaseDeployLogger
val rawApplicationPackage = new FilesApplicationPackage.Builder(applicationPath.toFile).includeSourceFiles(true).preprocessedDir(preprocessedApplicationDir).build()
- // TODO: Needed until we get rid of semantic rules
- val applicationPackage = rawApplicationPackage.preprocess(Zone.defaultZone(), new RuleConfigDeriver {
- override def derive(ruleBaseDir: String, outputDir: String): Unit = {}
- }, logger)
+ val applicationPackage = rawApplicationPackage.preprocess(Zone.defaultZone(), logger)
validateApplication(applicationPackage)
val deployState = new DeployState.Builder().
applicationPackage(applicationPackage).