Skip to content

Commit bdbadad

Browse files
committed
generate debug launch config in the web plugin with bundles startup levels already preconfigured
1 parent 3854a06 commit bdbadad

File tree

3 files changed

+86
-15
lines changed

3 files changed

+86
-15
lines changed

plugins/org.dslforge.xtext.generator/src/org/dslforge/xtext/generator/DynamicWebProjectFactory.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
import org.dslforge.xtext.generator.web.editor.widget.GenWidgetResource;
4141
import org.dslforge.xtext.generator.web.internal.GenActivator;
4242
import org.dslforge.xtext.generator.web.internal.GenImageProvider;
43+
import org.dslforge.xtext.generator.web.launch.GenLaunchConfig;
4344
import org.dslforge.xtext.generator.web.module.GenWebRuntimeModule;
4445
import org.dslforge.xtext.generator.web.module.GenWebStandaloneSetup;
4546
import org.dslforge.xtext.generator.web.parser.GenGrammar;
@@ -291,6 +292,7 @@ public void doGenerate(IWebProjectFactory factory, IProgressMonitor monitor) {
291292
new GenWorker().doGenerate(factory, progress.newChild(1));
292293
new GenAntlrAll().doGenerate(factory, progress.newChild(1));
293294
new GenWebPluginPomXml().doGenerate(factory, progress.newChild(1));
295+
new GenLaunchConfig().doGenerate(factory, progress.newChild(1));
294296
}
295297

296298
private void createPluginXml(IProject project, IProgressMonitor monitor) throws CoreException {

plugins/org.dslforge.xtext.generator/src/org/dslforge/xtext/generator/util/GeneratorUtil.java

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,6 @@
2727
import java.io.UnsupportedEncodingException;
2828
import java.util.ArrayList;
2929
import java.util.List;
30-
/**
31-
* <copyright>
32-
*
33-
* Copyright (c) 2015 PlugBee. All rights reserved.
34-
*
35-
* This program and the accompanying materials are made available
36-
* under the terms of the Eclipse Public License v1.0 which
37-
* accompanies this distribution, and is available at
38-
* http://www.eclipse.org/legal/epl-v10.html
39-
*
40-
* Contributors:
41-
* Amine Lajmi - Initial API and implementation
42-
*
43-
* </copyright>
44-
*/
4530
import java.util.Set;
4631
import java.util.regex.Matcher;
4732
import java.util.regex.Pattern;
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
/**
2+
* <copyright>
3+
*
4+
* Copyright (c) 2015 PlugBee. All rights reserved.
5+
*
6+
* This program and the accompanying materials are made available
7+
* under the terms of the Eclipse Public License v1.0 which
8+
* accompanies this distribution, and is available at
9+
* http://www.eclipse.org/legal/epl-v10.html
10+
*
11+
* Contributors:
12+
* Amine Lajmi - Initial API and implementation
13+
*
14+
* </copyright>
15+
*/
16+
package org.dslforge.xtext.generator.web.launch
17+
18+
import org.dslforge.common.AbstractGenerator
19+
import org.dslforge.common.IWebProjectFactory
20+
import org.dslforge.xtext.generator.XtextGrammar
21+
import org.eclipse.core.runtime.IProgressMonitor
22+
23+
class GenLaunchConfig extends AbstractGenerator {
24+
25+
var XtextGrammar grammar
26+
var String versionNumber
27+
new() {
28+
relativePath = "/"
29+
basePath = ""
30+
}
31+
32+
override doGenerate(IWebProjectFactory factory, IProgressMonitor monitor) {
33+
grammar = factory.input as XtextGrammar
34+
projectName = factory.project.name
35+
grammarShortName = grammar.getShortName()
36+
versionNumber = IWebProjectFactory::DSLFORGE_EXAMPLES_VERSION_NUMBER
37+
factory.generateFile(basePath, grammarShortName.toFirstUpper+"WebEditor.launch", toLaunch(), monitor)
38+
}
39+
40+
def toLaunch()'''
41+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
42+
<launchConfiguration type="org.eclipse.rap.ui.launch.RAPLauncher">
43+
<booleanAttribute key="append.args" value="true"/>
44+
<booleanAttribute key="askclear" value="false"/>
45+
<booleanAttribute key="automaticAdd" value="false"/>
46+
<booleanAttribute key="automaticValidate" value="false"/>
47+
<stringAttribute key="bootstrap" value=""/>
48+
<stringAttribute key="checked" value="[NONE]"/>
49+
<booleanAttribute key="clearConfig" value="true"/>
50+
<booleanAttribute key="clearws" value="true"/>
51+
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/«grammarShortName.toFirstUpper»WebEditor"/>
52+
<booleanAttribute key="default" value="true"/>
53+
<booleanAttribute key="default_auto_start" value="true"/>
54+
<intAttribute key="default_start_level" value="4"/>
55+
<booleanAttribute key="includeOptional" value="false"/>
56+
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
57+
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
58+
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console"/>
59+
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
60+
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Declipse.ignoreApp=true -Dosgi.noShutdown=true&#13;&#10;-Dorg.eclipse.equinox.http.jetty.log.stderr.threshold=info"/>
61+
<stringAttribute key="org.eclipse.rap.launch.browserMode" value="EXTERNAL"/>
62+
<stringAttribute key="org.eclipse.rap.launch.contextpath" value="/"/>
63+
<stringAttribute key="org.eclipse.rap.launch.dataLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.rap.tools.launch/«grammarShortName.toFirstUpper»WebEditor"/>
64+
<booleanAttribute key="org.eclipse.rap.launch.developmentMode" value="true"/>
65+
<booleanAttribute key="org.eclipse.rap.launch.openBrowser" value="true"/>
66+
<intAttribute key="org.eclipse.rap.launch.port" value="10080"/>
67+
<stringAttribute key="org.eclipse.rap.launch.servletPath" value="/texteditor"/>
68+
<intAttribute key="org.eclipse.rap.launch.sessionTimeout" value="0"/>
69+
<booleanAttribute key="org.eclipse.rap.launch.useDefaultDataLocation" value="true"/>
70+
<booleanAttribute key="org.eclipse.rap.launch.useManualContextPath" value="false"/>
71+
<booleanAttribute key="org.eclipse.rap.launch.useManualPort" value="false"/>
72+
<booleanAttribute key="org.eclipse.rap.launch.useSessionTimeout" value="false"/>
73+
<stringAttribute key="pde.version" value="3.3"/>
74+
<booleanAttribute key="show_selected_only" value="false"/>
75+
<stringAttribute key="target_bundles" value="com.google.guava@default:default,com.google.inject@default:default,com.ibm.icu@default:default,javax.inject@default:default,javax.persistence@default:default,javax.servlet*3.1.0.v201410161800@default:default,javax.xml@default:default,org.antlr.runtime@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.log4j@default:default,org.dslforge.common.logging@default:false,org.dslforge.styledtext@default:default,org.dslforge.texteditor.demo@default:default,org.dslforge.texteditor@default:default,org.dslforge.workspace.config@4:default,org.dslforge.workspace.jpa@3:default,org.dslforge.workspace.ui@default:default,org.dslforge.workspace@5:default,org.dslforge.xtext.common@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.runtime@default:true,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit@default:default,org.eclipse.emf.rap.common.ui@default:default,org.eclipse.emf.rap.edit.ui@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.cm@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.registry@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.http.servletbridge@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.servletbridge@default:default,org.eclipse.equinox.util@default:default,org.eclipse.gemini.jpa@2:default,org.eclipse.help@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.eclipse.persistence.antlr@default:default,org.eclipse.persistence.asm@default:default,org.eclipse.persistence.core@default:default,org.eclipse.persistence.jpa.jpql@default:default,org.eclipse.persistence.jpa@default:default,org.eclipse.persistence.nosql@default:false,org.eclipse.persistence.oracle.nosql@default:false,org.eclipse.persistence.oracle@default:false,org.eclipse.rap.jface.databinding@default:default,org.eclipse.rap.jface@default:default,org.eclipse.rap.rwt.osgi@default:default,org.eclipse.rap.rwt@default:default,org.eclipse.rap.ui.navigator@default:default,org.eclipse.rap.ui.views@default:default,org.eclipse.rap.ui.workbench@default:default,org.eclipse.rap.ui@default:default,org.eclipse.xtend.lib.macro@default:default,org.eclipse.xtend.lib@default:default,org.eclipse.xtext.common.types@default:default,org.eclipse.xtext.logging@default:false,org.eclipse.xtext.smap@default:default,org.eclipse.xtext.util@default:default,org.eclipse.xtext.xbase.lib@default:default,org.eclipse.xtext@default:default,org.objectweb.asm@default:default,osgi.enterprise@1:default"/>
76+
<booleanAttribute key="tracing" value="false"/>
77+
<booleanAttribute key="useCustomFeatures" value="false"/>
78+
<booleanAttribute key="useDefaultConfigArea" value="true"/>
79+
<stringAttribute key="workspace_bundles" value="
80+
«grammar.dslProjectName+".web"»@default:default,
81+
«grammar.dslProjectName»@default:default"/>
82+
</launchConfiguration>
83+
'''
84+
}

0 commit comments

Comments
 (0)