summaryrefslogtreecommitdiffstats
path: root/config-model-api
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2018-01-17 08:14:18 +0100
committerHarald Musum <musum@oath.com>2018-01-17 08:14:18 +0100
commit4d5cd477e8bb42c4ffe14f41bfc0a39a98a5d09e (patch)
tree4fb09a75929dfffcd0829580bddbaf8079fcac6d /config-model-api
parentcdee0b6682d9a3ff88eae6d001c10c4613db6c40 (diff)
Prepare for removal of RuleConfigDeriver
Diffstat (limited to 'config-model-api')
-rw-r--r--config-model-api/src/main/java/com/yahoo/config/application/api/ApplicationPackage.java16
1 files changed, 16 insertions, 0 deletions
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");
+ }
+
}