Mercurial > hg > graal-compiler
changeset 7681:f81be78f15a5
Fixed eclipse configuration for annotation processors. Annotation processor jars
are not builded asynchronously anymore to avoid a crash of eclipse.
author | Christian Humer <christian.humer@gmail.com> |
---|---|
date | Mon, 04 Feb 2013 16:36:50 +0100 |
parents | c5a4c817fe1c |
children | 5209cd031aec |
files | graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/Log.java graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java mxtool/mx.py |
diffstat | 3 files changed, 33 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/Log.java Thu Jan 31 16:33:12 2013 +0100 +++ b/graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/Log.java Mon Feb 04 16:36:50 2013 +0100 @@ -33,6 +33,8 @@ */ public class Log { + public static final boolean DEBUG = false; + private final ProcessingEnvironment processingEnv; public Log(ProcessingEnvironment env) {
--- a/graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java Thu Jan 31 16:33:12 2013 +0100 +++ b/graal/com.oracle.truffle.codegen.processor/src/com/oracle/truffle/codegen/processor/node/NodeParser.java Mon Feb 04 16:36:50 2013 +0100 @@ -44,8 +44,6 @@ public static final List<Class<? extends Annotation>> ANNOTATIONS = Arrays.asList(Generic.class, GuardCheck.class, TypeSystemReference.class, ShortCircuit.class, Specialization.class, SpecializationGuard.class, SpecializationListener.class, SpecializationThrows.class); - private static final boolean DEBUG = false; - private Map<String, NodeData> parsedNodes; private TypeElement originalType; @@ -62,7 +60,7 @@ return parseInnerClassHierarchy((TypeElement) element); } finally { - if (DEBUG) { + if (Log.DEBUG) { NodeData parsed = parsedNodes.get(Utils.getQualifiedName(originalType)); if (parsed != null) { String dump = parsed.dump();
--- a/mxtool/mx.py Thu Jan 31 16:33:12 2013 +0100 +++ b/mxtool/mx.py Mon Feb 04 16:36:50 2013 +0100 @@ -2096,21 +2096,23 @@ out.close('buildCommand') if (_needsEclipseJarBuild(p)): - out.open('buildCommand') - out.element('name', data='org.eclipse.ui.externaltools.ExternalToolBuilder') - out.element('triggers', data='auto,full,incremental,') - out.open('arguments') - out.open('dictionary') - out.element('key', data = 'LaunchConfigHandle') - out.element('value', data = _genEclipseJarBuild(p)) - out.close('dictionary') - out.open('dictionary') - out.element('key', data = 'incclean') - out.element('value', data = 'true') - out.close('dictionary') - out.close('arguments') - out.close('buildCommand') - + targetValues = _genEclipseJarBuild(p); + for value in targetValues: + out.open('buildCommand') + out.element('name', data='org.eclipse.ui.externaltools.ExternalToolBuilder') + out.element('triggers', data='auto,full,incremental,') + out.open('arguments') + out.open('dictionary') + out.element('key', data = 'LaunchConfigHandle') + out.element('value', data = value) + out.close('dictionary') + out.open('dictionary') + out.element('key', data = 'incclean') + out.element('value', data = 'true') + out.close('dictionary') + out.close('arguments') + out.close('buildCommand') + out.close('buildSpec') out.open('natures') out.element('nature', data='org.eclipse.jdt.core.javanature') @@ -2184,12 +2186,20 @@ return False def _genEclipseJarBuild(p): + builders = [] + builders.append(_genEclipseLaunch(p, 'Jar.launch', ''.join(['jar ', p.name]), refresh = False, async = False)) + builders.append(_genEclipseLaunch(p, 'Refresh.launch', '', refresh = True, async = True)) + return builders + +def _genEclipseLaunch(p, name, mxCommand, refresh=True, async=False): launchOut = XMLDoc(); launchOut.open('launchConfiguration', {'type' : 'org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType'}) - launchOut.element('stringAttribute', {'key' : 'org.eclipse.debug.core.ATTR_REFRESH_SCOPE', 'value': '${project}'}) + if refresh: + launchOut.element('stringAttribute', {'key' : 'org.eclipse.debug.core.ATTR_REFRESH_SCOPE', 'value': '${project}'}) launchOut.element('booleanAttribute', {'key' : 'org.eclipse.debug.core.capture_output', 'value': 'false'}) launchOut.element('booleanAttribute', {'key' : 'org.eclipse.debug.ui.ATTR_CONSOLE_OUTPUT_ON', 'value': 'false'}) - launchOut.element('booleanAttribute', {'key' : 'org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND', 'value': 'true'}) + if async: + launchOut.element('booleanAttribute', {'key' : 'org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND', 'value': 'true'}) baseDir = dirname(dirname(os.path.abspath(__file__))) @@ -2198,7 +2208,7 @@ cmd = 'mx.cmd' launchOut.element('stringAttribute', {'key' : 'org.eclipse.ui.externaltools.ATTR_LOCATION', 'value': join(baseDir, cmd) }) launchOut.element('stringAttribute', {'key' : 'org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS', 'value': 'auto,full,incremental'}) - launchOut.element('stringAttribute', {'key' : 'org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS', 'value': ''.join(['jar', ' ', p.name])}) + launchOut.element('stringAttribute', {'key' : 'org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS', 'value': mxCommand}) launchOut.element('booleanAttribute', {'key' : 'org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED','value': 'true'}) launchOut.element('stringAttribute', {'key' : 'org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY', 'value': baseDir}) @@ -2209,11 +2219,9 @@ if not exists(externalToolDir): os.makedirs(externalToolDir) - update_file(join(externalToolDir, 'Jar.launch'), launchOut.xml(indent='\t', newl='\n')) + update_file(join(externalToolDir, name), launchOut.xml(indent='\t', newl='\n')) - return "<project>/.externalToolBuilders/Jar.launch" - - + return ''.join(["<project>/.externalToolBuilders/", name]) def netbeansinit(args, suite=None):