Attempt to move ByteBufProxy into the main codebase so it can be used. #96
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Goal
Move ByteBufProxy into the main package so that it can be used by non-test clients. See #90 for more details.
Changes
Issues
mdbjava is fortunately a standard Maven project but I still ran into several issues when trying to make changes:
I've fixed this issue before in other projects many moons ago but forgot exactly how. I think it's possible to reconfigure the buildnumber plugin to use jgit instead of requiring the Git CLI. See https://github.com/alx3apps/jgit-buildnumber.
There are also alternatives to the buildnumber plugin that, for example, (eg https://github.com/release-engineering/buildmetadata-maven-plugin) that could be considered.
Was able to work around this issue by disabling the buildnumber plugin on the commandline/eclipse configuration.
This happens because the package org.lmdbjava in src/main/java and src/test/java define a 'package-info.java' file. Surprised the JDK allows this (it is a duplicate type) but Eclipse catches this and complains.
The build blows up on Java10. Got it working by using JDK 1.8.0_92
Ran into several issues with 'optional' dependencies. For now have made certain dependencies non-optional. Will need to investigate this further.
The checkstyle issues are very harsh and fail the build. Admittedly don't a lot of time to see how to reproduce the desired code formatting rules in Eclipse. For now was able to disable the checkstyle plugin, using -Dcheckstyle.skip=true.
Ran into PMD issues in an attempt to duplicate the tutorial test:
This was fixed by changing the tutorial test for Netty to use slightly different test values.
Note that the only files actually modified were:
pom.xml
ByteBufProxy.java
ByteBufProxyTest.java
TutorialTest.java
Conclusion
By working around all the issues was able to build the project with the command:
$ ~/data/applications/apache-maven-3.5.4/bin/mvn clean install -Dbuildnumber.phase=none -Dcheckstyle.skip=true
Installed a SNAPSHOT locally that has the desired changes: lmdbjava-0.6.2-SNAPSHOT.
More work is needed to actually get this merged. Will try to coordinate further with lmdbjava team around this PR.