I want to run a Java program as a builder before the Java Builder kicks in. The Java class to be run is part of another project within the workspace.
I can add Program builder but I don't want to point explicitly to a Java VM as my teammates may have their Java installed in different location. Is there a way to achieve this without referring to a particular JVM executable?
EDIT: Added screenshot of Eclipse Builders to show which config I'm talking about. 
I can run the java program using a normal launcher (.launch file created using Run/Debug Configuration). I figured out a way to make that work as a Builder step.
Simply move the .launch to .externalToolBuilders and modify the .project file in a text editor to pick up that .launch file.
<buildCommand>
<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
<dictionary>
<key>LaunchConfigHandle</key>
<value><project>/.externalToolBuilders/MyCustomJavaProgram.launch</value>
</dictionary>
</arguments>
</buildCommand>
Eclipse being the good boy it is, doesn't complain about the presence of a org.eclipse.jdt.launching.localJavaApplication as a Builder step and everything works smoothly. In fact if you edit this newly added Builder step it even shows the correct Edit launch configuration dialog.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With