Moving the classpath into a JAR file means, in some cases, that SlickEdit must modify the classpath by reordering it. Reordering the classpath can sometimes prevent proper compilation.
If I disable your classpath contraction, I'd take it on at my own risk. Then I'd be doing battle directly with javac over the class path length, instead of through an intermediary. For example, I could consider restructuring the directories in my project, or using classpath wildcards, or building and maintaining my own classpath JAR outside of SlickEdit, or whatever.
These are some possible approaches to the issues you describe regarding disabling the classpath contraction:
- When the user disables the classpath contraction, display a warning dialog box.
- When the user invokes project-compile and they have disabled classpath contraction, inspect the output for a command-line-too-long error message. If the message occurs, display a dialog box that suggests turning on classpath contraction. Or it could just say "I told you so! Neener, neener, neener!"
- All of the above
To be sure, I don't know if this addresses the needs of your other customers, so this is just my suggestion.