Author: cziegeler Date: Tue Aug 15 12:36:00 2017 New Revision: 1805071 URL: http://svn.apache.org/viewvc?rev=1805071&view=rev Log: Add support for repoinit
Modified: sling/whiteboard/cziegeler/feature-modelconverter/src/main/java/org/apache/sling/feature/modelconverter/impl/Main.java Modified: sling/whiteboard/cziegeler/feature-modelconverter/src/main/java/org/apache/sling/feature/modelconverter/impl/Main.java URL: http://svn.apache.org/viewvc/sling/whiteboard/cziegeler/feature-modelconverter/src/main/java/org/apache/sling/feature/modelconverter/impl/Main.java?rev=1805071&r1=1805070&r2=1805071&view=diff ============================================================================== --- sling/whiteboard/cziegeler/feature-modelconverter/src/main/java/org/apache/sling/feature/modelconverter/impl/Main.java (original) +++ sling/whiteboard/cziegeler/feature-modelconverter/src/main/java/org/apache/sling/feature/modelconverter/impl/Main.java Tue Aug 15 12:36:00 2017 @@ -46,6 +46,7 @@ import org.apache.sling.feature.KeyValue import org.apache.sling.feature.support.ArtifactHandler; import org.apache.sling.feature.support.ArtifactManager; import org.apache.sling.feature.support.ArtifactManagerConfig; +import org.apache.sling.feature.support.FeatureUtil; import org.apache.sling.feature.support.json.ApplicationJSONWriter; import org.apache.sling.feature.support.json.FeatureJSONWriter; import org.apache.sling.provisioning.model.Artifact; @@ -59,6 +60,7 @@ import org.apache.sling.provisioning.mod import org.apache.sling.provisioning.model.ModelUtility.ResolverOptions; import org.apache.sling.provisioning.model.ModelUtility.VariableResolver; import org.apache.sling.provisioning.model.RunMode; +import org.apache.sling.provisioning.model.Section; import org.apache.sling.provisioning.model.Traceable; import org.apache.sling.provisioning.model.io.ModelReader; import org.osgi.framework.Constants; @@ -218,9 +220,7 @@ public class Main { // TODO - parse launchpad base to get sling.properties // hard coded for now - app.setFramework(new ArtifactId("org.apache.felix", - "org.apache.felix.framework", - "5.6.4", null, null)); + app.setFramework(FeatureUtil.getFelixFrameworkId(null)); app.getFrameworkProperties().put(Constants.FRAMEWORK_SYSTEMPACKAGES_EXTRA, "org.apache.sling.launchpad.api;version=\"1.2.0\""); return app; } @@ -230,7 +230,7 @@ public class Main { final Configurations configurations, final Extensions extensions, final KeyValueMap properties) { - Extension cpExtension = extensions.getByName("content-packages"); + Extension cpExtension = extensions.getByName(Extension.NAME_CONTENT_PACKAGES); for(final RunMode runMode : feature.getRunModes() ) { if ( !ModelConstants.FEATURE_LAUNCHPAD.equals(feature.getName()) ) { for(final ArtifactGroup group : runMode.getArtifactGroups()) { @@ -244,7 +244,7 @@ public class Main { if ( newArtifact.getId().getType().equals("zip") ) { if ( cpExtension == null ) { - cpExtension = new Extension(ExtensionType.ARTIFACTS, "content-packages", true); + cpExtension = new Extension(ExtensionType.ARTIFACTS, Extension.NAME_CONTENT_PACKAGES, true); extensions.add(cpExtension); } cpExtension.getArtifacts().add(newArtifact); @@ -280,6 +280,17 @@ public class Main { properties.put(prop.getKey(), prop.getValue()); } } + Extension repoExtension = extensions.getByName(Extension.NAME_REPOINIT); + for(final Section sect : feature.getAdditionalSections("repoinit")) { + final String text = sect.getContents(); + if ( repoExtension == null ) { + repoExtension = new Extension(ExtensionType.TEXT, Extension.NAME_REPOINIT, true); + extensions.add(repoExtension); + repoExtension.setText(text); + } else { + repoExtension.setText(repoExtension.getText() + "\n\n" + text); + } + } } private static void writeApplication(final Application app, final String out) {