[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
eclipse, jamvm, and classpath
From: |
Tom Tromey |
Subject: |
eclipse, jamvm, and classpath |
Date: |
08 Sep 2005 10:17:36 -0600 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.3.50 |
Thanks to Rob, now that jamvm is in CVS, it should be much simpler to
set up a trivial-to-use classpath development environment in Eclipse.
Appended is a patch to eclipse-ify jamvm and to make it work nicely
with classpath. It has 3 parts:
1. A small Makefile patch to make it so that you can compile against
an unzipped classpath; this is used with --disable-zip.
I took a minimal approach to fixing this. There are a couple
other potential Makefile changes in this area:
* Use real automake conditionals
* Allow use of compilers other than jikes
* Ultimately, add a special eclipse flag so that the java source
in jamvm is compiled inside eclipse with no external build step.
I didn't include the diffs to the auto*-generated files. I have a
different version of these tools anyway...
2. Addition of a lot of .cvsignore files. This is just friendlier
when making patches and whatnot.
3. Addition of the eclipse build goo. I have set things up so that it
simply assumes you have checked out classpath into your workspace.
And, I set it up to use this classpath by default. That is, this
is not a generic configuration but instead a way to make it very,
very simple to run jamvm against the classpath you are developing.
To try this out:
* Check out classpath in eclipse and build it
* Check out jamvm in eclipse
* Apply appended patch, re-run auto*
* Build jamvm in eclipse
Now the jamvm in <workspace>/classpath/install/bin should work just
fine. If you edit a java file in classpath, eclipse will rebuild it,
and jamvm will immediately see the change.
I have a patch kicking around to show how easy this really is; it adds
a launch configuration to the visual tester so that you can literally
go from a classpath change to running the test with a single mouse
click.
Tom
Index: lib/Makefile.am
===================================================================
RCS file: /cvsroot/jamvm/jamvm/lib/Makefile.am,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 Makefile.am
--- lib/Makefile.am 5 Sep 2005 00:02:34 -0000 1.1.1.1
+++ lib/Makefile.am 8 Sep 2005 15:54:45 -0000
@@ -1,4 +1,5 @@
-GLIBJ_ZIP = ${with_classpath_install_dir}/share/classpath/glibj.zip
address@hidden@ GLIBJ_ZIP =
${with_classpath_install_dir}/share/classpath/glibj.zip
address@hidden@ GLIBJ_ZIP = ${with_classpath_install_dir}/share/classpath/
SUBDIRS = jamvm java gnu
EXTRA_DIST = classes.zip README
Index: .cdtproject
===================================================================
RCS file: .cdtproject
diff -N .cdtproject
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ .cdtproject 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,3 @@
+<?xml version='1.0'?>
+<?eclipse-cdt version="2.0"?>
+<cdtproject id='org.eclipse.cdt.make.core.make'><extension
point='org.eclipse.cdt.core.CIndexer'
id='org.eclipse.cdt.core.domsourceindexer'/><extension
point='org.eclipse.cdt.core.BinaryParser'
id='org.eclipse.cdt.core.ELF'/><data><item
id='scannerConfiguration'><autodiscovery enabled='true'
selectedProfileId='org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile'
problemReportingEnabled='true'/><profile
id='org.eclipse.cdt.make.core.GCCStandardMakePerProjectProfile'><buildOutputProvider><openAction
enabled='true' filePath=''/><parser
enabled='true'/></buildOutputProvider><scannerInfoProvider
id='specsFile'><runAction useDefault='true' command='gcc' arguments='-E -P -v
-dD ${plugin_state_location}/${specs_file}'/><parser
enabled='true'/></scannerInfoProvider></profile><profile
id='org.eclipse.cdt.managedbuilder.core.GCCManagedMakePerProjectProfile'><buildOutputProvider><openAction
enabled='false' filePath=''/><parser
enabled='true'/></buildOutputProvider><scannerInfoPro
vider id='specsFile'><runAction useDefault='true' command='gcc' arguments='-E
-P -v -dD ${plugin_state_location}/${specs_file}'/><parser
enabled='false'/></scannerInfoProvider></profile><profile
id='org.eclipse.cdt.managedbuilder.core.GCCWinManagedMakePerProjectProfile'><buildOutputProvider><openAction
enabled='false' filePath=''/><parser
enabled='true'/></buildOutputProvider><scannerInfoProvider
id='specsFile'><runAction useDefault='true' command='gcc' arguments='-E -P -v
-dD ${plugin_state_location}/${specs_file}'/><parser
enabled='false'/></scannerInfoProvider></profile><profile
id='org.eclipse.cdt.make.core.GCCStandardMakePerFileProfile'><buildOutputProvider><openAction
enabled='false' filePath=''/><parser
enabled='true'/></buildOutputProvider><scannerInfoProvider
id='makefileGenerator'><runAction useDefault='true' command='make'
arguments='-f ${project_name}_scd.mk'/><parser
enabled='false'/></scannerInfoProvider></profile></item><item
id='org.eclipse.cdt.core.pathentry
'><pathentry kind='src' path=''/><pathentry kind='out' path=''/><pathentry
kind='con'
path='org.eclipse.cdt.make.core.DISCOVERED_SCANNER_INFO'/></item></data></cdtproject>
Index: .cvsignore
===================================================================
RCS file: .cvsignore
diff -N .cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ .cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,2 @@
+autom4te.cache
+Makefile
Index: .project
===================================================================
RCS file: .project
diff -N .project
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ .project 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>jamvm</name>
+ <comment></comment>
+ <projects>
+ <project>classpath</project>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+
<value><project>/.externalToolBuilders/JamVMConfigure.launch</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.make.core.makeBuilder</name>
+ <triggers>clean,full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.build.arguments</key>
+ <value></value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.core.errorOutputParser</key>
+
<value>org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;org.eclipse.cdt.core.GASErrorParser;org.eclipse.cdt.core.GLDErrorParser;org.eclipse.cdt.core.VCErrorParser;</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.environment</key>
+ <value></value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.enableAutoBuild</key>
+ <value>false</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.build.target.inc</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.enableFullBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.enabledIncrementalBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.build.command</key>
+ <value>make</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.build.target.clean</key>
+ <value>clean</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.enableCleanBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.append_environment</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.build.target.full</key>
+ <value>clean all</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.stopOnError</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+
<key>org.eclipse.cdt.make.core.build.target.auto</key>
+ <value>all</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+
<name>org.eclipse.cdt.make.core.ScannerConfigBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>LaunchConfigHandle</key>
+
<value><project>/.externalToolBuilders/JamVMInstall.launch</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.make.core.makeNature</nature>
+ <nature>org.eclipse.cdt.make.core.ScannerConfigNature</nature>
+ </natures>
+</projectDescription>
Index: .externalToolBuilders/JamVMConfigure.launch
===================================================================
RCS file: .externalToolBuilders/JamVMConfigure.launch
diff -N .externalToolBuilders/JamVMConfigure.launch
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ .externalToolBuilders/JamVMConfigure.launch 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,2 @@
+<?xml version='1.0'?>
+<launchConfiguration
type='org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType'><stringAttribute
key='org.eclipse.debug.core.ATTR_REFRESH_SCOPE'
value='${project}'/><stringAttribute
key='org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS'
value='full,incremental,'/><stringAttribute
key='org.eclipse.ui.externaltools.ATTR_LOCATION'
value='${workspace_loc:/jamvm/configure}'/><booleanAttribute
key='org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED'
value='true'/><stringAttribute
key='org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY'
value='${workspace_loc:/jamvm}'/><booleanAttribute
key='org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND'
value='false'/><stringAttribute
key='org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS'
value='--prefix=${workspace_loc:classpath/install}
--with-classpath-install-dir=${workspace_loc:classpath/install}
--disable-zip'/><booleanAttribute
key='org.eclipse.debug.core.appendEnvironmentVariables'
value='true'/></launchConfiguration>
Index: .externalToolBuilders/JamVMInstall.launch
===================================================================
RCS file: .externalToolBuilders/JamVMInstall.launch
diff -N .externalToolBuilders/JamVMInstall.launch
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ .externalToolBuilders/JamVMInstall.launch 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,2 @@
+<?xml version='1.0'?>
+<launchConfiguration
type='org.eclipse.ui.externaltools.ProgramBuilderLaunchConfigurationType'><stringAttribute
key='org.eclipse.ui.externaltools.ATTR_LOCATION'
value='${system_path:make}'/><booleanAttribute
key='org.eclipse.ui.externaltools.ATTR_TRIGGERS_CONFIGURED'
value='true'/><stringAttribute
key='org.eclipse.ui.externaltools.ATTR_RUN_BUILD_KINDS'
value='full,incremental,'/><stringAttribute
key='org.eclipse.ui.externaltools.ATTR_WORKING_DIRECTORY'
value='${workspace_loc:/jamvm}'/><booleanAttribute
key='org.eclipse.debug.core.appendEnvironmentVariables'
value='true'/><stringAttribute
key='org.eclipse.ui.externaltools.ATTR_TOOL_ARGUMENTS'
value='install'/><booleanAttribute
key='org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND'
value='false'/></launchConfiguration>
Index: lib/.cvsignore
===================================================================
RCS file: lib/.cvsignore
diff -N lib/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ lib/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,1 @@
+Makefile
Index: lib/gnu/.cvsignore
===================================================================
RCS file: lib/gnu/.cvsignore
diff -N lib/gnu/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ lib/gnu/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,1 @@
+Makefile
Index: lib/gnu/classpath/.cvsignore
===================================================================
RCS file: lib/gnu/classpath/.cvsignore
diff -N lib/gnu/classpath/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ lib/gnu/classpath/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,1 @@
+Makefile
Index: lib/jamvm/.cvsignore
===================================================================
RCS file: lib/jamvm/.cvsignore
diff -N lib/jamvm/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ lib/jamvm/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,1 @@
+Makefile
Index: lib/jamvm/java/.cvsignore
===================================================================
RCS file: lib/jamvm/java/.cvsignore
diff -N lib/jamvm/java/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ lib/jamvm/java/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,1 @@
+Makefile
Index: lib/jamvm/java/lang/.cvsignore
===================================================================
RCS file: lib/jamvm/java/lang/.cvsignore
diff -N lib/jamvm/java/lang/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ lib/jamvm/java/lang/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,1 @@
+Makefile
Index: lib/java/.cvsignore
===================================================================
RCS file: lib/java/.cvsignore
diff -N lib/java/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ lib/java/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,1 @@
+Makefile
Index: lib/java/lang/.cvsignore
===================================================================
RCS file: lib/java/lang/.cvsignore
diff -N lib/java/lang/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ lib/java/lang/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,1 @@
+Makefile
Index: lib/java/lang/reflect/.cvsignore
===================================================================
RCS file: lib/java/lang/reflect/.cvsignore
diff -N lib/java/lang/reflect/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ lib/java/lang/reflect/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,1 @@
+Makefile
Index: lib/java/security/.cvsignore
===================================================================
RCS file: lib/java/security/.cvsignore
diff -N lib/java/security/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ lib/java/security/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,1 @@
+Makefile
Index: src/.cvsignore
===================================================================
RCS file: src/.cvsignore
diff -N src/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,4 @@
+.deps
+arch.h
+jamvm
+Makefile
Index: src/arch/.cvsignore
===================================================================
RCS file: src/arch/.cvsignore
diff -N src/arch/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/arch/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,1 @@
+Makefile
Index: src/os/.cvsignore
===================================================================
RCS file: src/os/.cvsignore
diff -N src/os/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/os/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,1 @@
+Makefile
Index: src/os/darwin/.cvsignore
===================================================================
RCS file: src/os/darwin/.cvsignore
diff -N src/os/darwin/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/os/darwin/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,1 @@
+Makefile
Index: src/os/darwin/powerpc/.cvsignore
===================================================================
RCS file: src/os/darwin/powerpc/.cvsignore
diff -N src/os/darwin/powerpc/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/os/darwin/powerpc/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,2 @@
+.deps
+Makefile
Index: src/os/linux/.cvsignore
===================================================================
RCS file: src/os/linux/.cvsignore
diff -N src/os/linux/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/os/linux/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,1 @@
+Makefile
Index: src/os/linux/arm/.cvsignore
===================================================================
RCS file: src/os/linux/arm/.cvsignore
diff -N src/os/linux/arm/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/os/linux/arm/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,2 @@
+.deps
+Makefile
Index: src/os/linux/i386/.cvsignore
===================================================================
RCS file: src/os/linux/i386/.cvsignore
diff -N src/os/linux/i386/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/os/linux/i386/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,2 @@
+.deps
+Makefile
Index: src/os/linux/powerpc/.cvsignore
===================================================================
RCS file: src/os/linux/powerpc/.cvsignore
diff -N src/os/linux/powerpc/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/os/linux/powerpc/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,2 @@
+.deps
+Makefile
Index: src/os/linux/x86_64/.cvsignore
===================================================================
RCS file: src/os/linux/x86_64/.cvsignore
diff -N src/os/linux/x86_64/.cvsignore
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ src/os/linux/x86_64/.cvsignore 1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,2 @@
+.deps
+Makefile
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- eclipse, jamvm, and classpath,
Tom Tromey <=