-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Java] Sauce bindings does not support Open JDK 16 #253
Comments
Awesome, thanks for reporting this; I'm glad you like it, I'll get this addressed right away. |
Thanks for responding so quickly Titus! Also very interested in WIP for mobile support We will need this eventually. I almost held off on adopting the binding till this was merged but figured worst case I can sub-class existing binding in a similar pattern to what you are doing in that MR if I need Mobile before you guys have it ready for prime time. :-) |
Yeah, sorry for the delay on it. I'm nervous about making a change that deprecates existing functionality. I've just been promoted to a position that will allow me more time to work on this project. I've been developing this very intermittently and every time I get back into the code I change how I think it should be implemented. But we need something that scales better than what we have to facilitate mobile & visual, etc. #246 is actually the next step, then I'll implement mobile off of that approach (using config classes under the hood with |
Oh awesome! Yes I know what it's like having to split focus between projects. I agree with making deprecating/breaking changes. It's always at least a bit of a pain but sometimes needed to move things forward. I like the #246 approach as well. I should have time to work on integrating your java binding with our java binding today/tomorrow. May have some better feedback once I've got the binding integrated. I'm standing up a bit of a facade/manager so that a test can just describe what it's valid for and be fed to the right sauce configurations/platforms/setup/etc... |
Also, coming from a Ruby background it has been interesting to see what is needed to optimize things for Java (I'm sure I have a lot of room to grow still). But yeah, making sure that the IDE is only showing values that are applicable to the configuration that has been picked is essential. Please feel free to reach out with suggestions or ideas (either in issue or email me directly). |
Will do. If your talking Java 8 or 9 it's showing it's age as a language a good deal. If your talking Java 14ish and up it's getting pretty awesome. Your a hero Titus. Thanks! |
yeah, I had to pull out the code that relied on Java 9 because someone asked me to. :) |
This should be good to go in 1.0.4 (just released). |
@titusfortner Confirmed! Fixed with sauce-bindings v1.0.4 from maven central. Thanks so much for your help! |
Hey folks, love this project. I'm starting up a new greenfield project at work and want to incorporate these binding libraries into our solutions as the primary interface to SauceLabs for all our frameworks/bindings. I ran into an issue with the Java one I am working on. We are using OpenJDK 16 and Maven 3.8.1.
I started by using the dependency for sauce-bindings from Maven Central This throws an exception on build:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.0:compile (java-compile) on project tcats-core: Fatal error compiling: java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x3375b118) cannot access class com.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because module jdk.compiler does not export com.sun.tools.javac.processing to unnamed module @0x3375b118 -> [Help 1]
Doing a little research, this is because of this lombok issue. Reading through this project lombok issue, upgrading to lombok 1.18.20 fixes the problem of building with Open JDK 16.
I'm using the following workaround for now in my own pom.xml, however I am still building out usage of sauce-bindings library in my own project, I may run into further compatibility issues as I progress.
Workaround:
<!-- https://mvnrepository.com/artifact/com.saucelabs/sauce_bindings --> <dependency> <groupId>com.saucelabs</groupId> <artifactId>sauce_bindings</artifactId> <version>${sauce.bindings.version}</version> <exclusions> <exclusion> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclusion> </exclusions> </dependency> <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <scope>provided</scope> </dependency>
The text was updated successfully, but these errors were encountered: