imagej / imagej/imagej2

Remove tools.jar dependency

Open
#105 8 comments 0 reactions 1 assignee Claimed by @ctrueden View on GitHub
deployment
Dominant language
Java
Stars
1.4k
Forks
350
PR merge metrics
No merged PRs in 30d

Description

We are currently shipping com.sun:tools.jar on the ImageJ update site. This is improper usage of an intended system scope dependency, which should and of questionable legality. It also causes duplicate class conflicts with the Fiji [javac fork](https://github.com/fiji/javac).

To fully remove our dependency on com.sun:tools:
- [x] Remove the com.sun:tools dependency from [ImageJA](https://github.com/imagej/imageja), [Minimaven](https://github.com/scijava/minimaven) and [SciJava scripting-java](https://github.com/scijava/scripting-java/)
- [x] Replace necessary usage with 'javax.tools.ToolProvider.getSystemJavaCompiler'. Note that this implies a minimum Java version of 1.6
- [ ] Turn off the multitude of error messages that are printed by minimaven.. these are intended to be debug logging statements..
- [ ] Update the [imagej-launcher](https://github.com/imagej/imagej-launcher) to read and write JDK locations in the imagej.cfg. We should auto-detect when possible, merge with existing (e.g. user-specified) entries, and prune invalid locations
- [ ] Create an options menu to select JDK version, driven by the .cfg file
- [x] Make the java 8 compiler be detected first before javac's compiler so we can make things work in both java 6 and java 8
- [x] Remove com.sun:tools.jar and javac fork from the update site (or put this stuff on java 8 update site)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.