Closed nicost closed 2 years ago
Hey @nicost! Thanks for this valuable contribution, and apologies for not being in touch earlier :-/ The PR looks good, there's a few notes I have that I'll leave as review. With regard to Github CI, I'm happy to help out with this, we can probably take over most of the CI config we're using for scenery for that purpose.
I also invited you to the organisation, so stuff like this becomes easier in the future 👍
I believe I addressed all the points you raised. The CI seems to fail (no idea if that is related to these changes). It would be awesome if you could merge (after testing), and get the CI going so that it will push new versions to the maven scijiva repo. Thanks!
I tested this PR on an Ubuntu Linux machine with a naive ./build.sh
and the build failed.
Thanks Curtis! Does that script work on the main branch? It runs gradle build -x test distribution
instead of gradle build
(which also runs a bunch of tests). The scripts barfs for me even earlier, as I do not have cmake installed (and would like to keep it that way). The error on the make
task for you is also fair enough, as gradle launches make
without arguments or a Makefile present. My PR did not touch that stuff, and believe this was already not working before. gradle build
seems to succeed for you.
I don't know anything about the AppVeyor stuff and how to specify the gradle version there. @skalarproduktraum is the plan to move from AppVeyor to github CI?
@nicost Yeah, I was just reporting my findings for that quick test I did, in case it is somehow helpful. I'm not sure about the main branch; my first attempt to run ./build.sh
just says ./build.sh: line 3: gradle: command not found
because I don't have a system-wide gradle, and IIRC on my other machine the installed gradle was too new to successfully build it. I also tried using the gradlew
script just now:
$ ./gradlew build
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '11.0.17'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Using the build
target is something I gleaned from the .travis.yml
.
It would be helpful if the README had instructions on the intended process to build from source, since right now I am just guessing.
Fully agree. Since I don't know what the build process is or should be, I am not the one to write that README. All I did is make it build with a gradle version that is supported on github CI (or so I believe). @skalarproduktraum can you enlighten us? I am happy to help, but it is a bit hard without knowing the requirements. For now I have concentrated on building ClearVolume.version.jar, and be able to distribute it using CI, which I now believe to be possible.
Hey @nicost and @ctrueden! Apologies again for delays, I'm severely lagging behind on my todos, so this had to wait a bit. I've made some more changes, so all scripts and Gradle stuff is now working again. Appveyor also builds. I've updated the build info on the README, too. As of now, everything looks good and builds again when running ./gradlew build
. The library then ends up in build/libs
. I've also made a Zulip channel for ClearVolume, so we can discuss a bit more how this project should be handled in the future - please join!
I'll merge this now. Thanks again @nicost for all the effort in making this compatible with Gradle 7.5.1 👍
Tested on my Windows 10 box only. Builds successfully (including tests). The resulting ClearVolume.jar is functional (in Micro-manager on my Windows machine). I removed the JavaFX part (no idea what it is for, and if anyone still uses it). Also added the maven-publish plugin and configured it, but can not test that part as I do not have credentials.
Please note that I am a complete novice at gradle, and this is a complete hack, just to make things work. We need these builds to resume, so please use this as a basis to get things going again (hopefully easy based on this PR).