| //Generated with EGF 1.3.0.qualifier |
| package org.eclipse.egf.releng2; |
| |
| import org.eclipse.egf.common.helper.*; |
| import java.util.*; |
| import org.eclipse.emf.ecore.*; |
| import org.eclipse.egf.model.pattern.*; |
| import org.eclipse.egf.pattern.execution.*; |
| import org.eclipse.egf.pattern.query.*; |
| |
| public class directoreclipseproxy extends org.eclipse.egf.portfolio.eclipse.build.buckminster.buildxml { |
| protected static String nl; |
| |
| public static synchronized directoreclipseproxy create(String lineSeparator) { |
| nl = lineSeparator; |
| directoreclipseproxy result = new directoreclipseproxy(); |
| nl = null; |
| return result; |
| } |
| |
| public final String NL = nl == null ? (System.getProperties().getProperty("line.separator")) : nl; |
| protected final String TEXT_1 = " <target name=\"install.director\">" + NL |
| + " <available file=\"${tools}/director/director\" property=\"director.exists\" />" + NL |
| + " <antcall target=\"do.install.director\" />" + NL + " </target>" + NL + " " + NL |
| + " <target name=\"do.install.director\" unless=\"director.exists\">" + NL |
| + " <echo message=\"Fetching headless director application\" />" + NL |
| + " <tempfile destdir=\"${java.io.tmpdir}\" prefix=\"director-\" suffix=\".zip\" property=\"director.zip\" deleteonexit=\"true\" />" |
| + NL + " <get src=\"${director.url}\" dest=\"${director.zip}\" />" + NL |
| + " <mkdir dir=\"${tools}\" />" + NL + " <unzip src=\"${director.zip}\" dest=\"${tools}\" />" |
| + NL + " <delete file=\"${director.zip}\" />" + NL + "" + NL |
| + " <echo message=\"install eclipse proxy\"/>" + NL |
| + " <mkdir dir=\"${tools}/director/configuration/.settings/\"/>" + NL |
| + "<echo file=\"${tools}/director/configuration/.settings/org.eclipse.core.net.prefs\">#Fri May 17 19:15:07 CEST 2013" |
| + NL + "systemProxiesEnabled=false" + NL + "org.eclipse.core.net.hasMigrated=true" + NL |
| + "proxyData/HTTPS/port=9898" + NL + "proxyData/HTTP/host=proxy.eclipse.org" + NL |
| + "nonProxiedHosts=172.30.206.*|localhost|127.0.0.1" + NL + "proxyData/HTTP/hasAuth=false" + NL |
| + "proxyData/HTTP/port=9898" + NL + "eclipse.preferences.version=1" + NL + "proxyData/HTTPS/hasAuth=false" |
| + NL + "proxyData/HTTPS/host=proxy.eclipse.org" + NL + "" + NL + "</echo>" + NL + " </target>"; |
| protected final String TEXT_2 = " <target name=\"install.buckminster\">" + NL |
| + " <available file=\"${tools}/buckminster/buckminster\" property=\"buckminster.exists\" />" + NL |
| + " <antcall target=\"do.install.buckminster\" />" + NL + "\t</target>" + NL + "\t" + NL |
| + " <target name=\"do.install.buckminster\" unless=\"buckminster.exists\" depends=\"install.director\">" |
| + NL + " <echo message=\"Configuring headless buckminster with needed features\" />" + NL |
| + " <echo message=\"Headless site: ${bm.headless.site}\" />" + NL |
| + " <echo message=\"External site: ${bm.external.site}\" />" + NL |
| + " <eclipse.launch app=\"director\">" + NL + " <args>" + NL |
| + " <jvmarg value=\"-Declipse.p2.mirrors=false\" />" + NL |
| + " <arg value=\"-r\" />" + NL + " <arg value=\"${bm.headless.site}\" />" + NL |
| + " <arg value=\"-d\" />" + NL + " <arg value=\"${tools}/buckminster\" />" |
| + NL + " <arg value=\"-p\" />" + NL + " <arg value=\"Buckminster\" />" + NL |
| + " <arg value=\"-i\" />" + NL |
| + " <arg value=\"org.eclipse.buckminster.cmdline.product\" />" + NL |
| + " <arg value=\"-i\" />" + NL |
| + " <arg value=\"org.eclipse.buckminster.core.headless.feature.feature.group\" />" + NL |
| + " <arg value=\"-i\" />" + NL |
| + " <arg value=\"org.eclipse.buckminster.pde.headless.feature.feature.group\" />" + NL |
| + " </args>" + NL + " </eclipse.launch>" + NL + " </target>" + NL + " " + NL; |
| protected final String TEXT_3 = NL; |
| protected final String TEXT_4 = NL; |
| |
| public directoreclipseproxy() { |
| //Here is the constructor |
| StringBuffer stringBuffer = new StringBuffer(); |
| |
| // add initialisation of the pattern variables (declaration has been already done). |
| |
| } |
| |
| public String generate(Object argument) throws Exception { |
| final StringBuffer stringBuffer = new StringBuffer(); |
| |
| InternalPatternContext ctx = (InternalPatternContext) argument; |
| Map<String, String> queryCtx = null; |
| IQuery.ParameterDescription paramDesc = null; |
| Node.Container currentNode = ctx.getNode(); |
| |
| List<Object> jobList = null; |
| //this pattern can only be called by another (i.e. it's not an entry point in execution) |
| |
| for (Object jobParameter : jobList) { |
| |
| this.job = (org.eclipse.egf.portfolio.eclipse.build.buildcore.Job) jobParameter; |
| |
| if (preCondition(ctx)) { |
| ctx.setNode(new Node.Container(currentNode, getClass())); |
| orchestration(ctx); |
| } |
| |
| } |
| ctx.setNode(currentNode); |
| if (ctx.useReporter()) { |
| ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx); |
| } |
| |
| stringBuffer.append(TEXT_3); |
| stringBuffer.append(TEXT_4); |
| return stringBuffer.toString(); |
| } |
| |
| public String orchestration(PatternContext ctx) throws Exception { |
| InternalPatternContext ictx = (InternalPatternContext) ctx; |
| |
| super.orchestration(new SuperOrchestrationContext(ictx)); |
| |
| if (ictx.useReporter()) { |
| Map<String, Object> parameterValues = new HashMap<String, Object>(); |
| parameterValues.put("job", this.job); |
| String outputWithCallBack = OutputManager.computeLoopOutput(ictx); |
| String loop = OutputManager.computeLoopOutputWithoutCallback(ictx); |
| ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues); |
| } |
| return null; |
| } |
| |
| public Map<String, Object> getParameters() { |
| final Map<String, Object> parameters = new HashMap<String, Object>(); |
| parameters.put("job", this.job); |
| return parameters; |
| } |
| |
| protected void method_install_director(final StringBuffer stringBuffer, final PatternContext ctx) throws Exception { |
| |
| stringBuffer.append(TEXT_1); |
| InternalPatternContext ictx = (InternalPatternContext) ctx; |
| new Node.DataLeaf(ictx.getNode(), getClass(), "install_director", stringBuffer.toString()); |
| } |
| |
| protected void method_install_buckminster(final StringBuffer stringBuffer, final PatternContext ctx) |
| throws Exception { |
| |
| stringBuffer.append(TEXT_2); |
| InternalPatternContext ictx = (InternalPatternContext) ctx; |
| new Node.DataLeaf(ictx.getNode(), getClass(), "install_buckminster", stringBuffer.toString()); |
| } |
| } |