rsksmart / artifacts

18 stars 57 forks source link

running the actual build fails with missing gradle wrapper class #1

Closed janbraiins closed 7 years ago

janbraiins commented 7 years ago

The example run of the buildmachine image:

docker run -v $(pwd):/rskj -w /rskj -ti buildmachine:latest /bin/bash
root@8c9163138a64:/rskj# ./gradlew shadow
Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain

The gradle seems missing from the top level image or not sure why it cannot be found.

bcodesido commented 7 years ago

Thanks for the report. We updated our documentation in the reproducible build article in the rskj wiki.

janbraiins commented 7 years ago

Not sure, what you mean by the update, the snippet how to run the build is still the same just the security chain verification is now more ellaborate. Let me know how to clarify this.

Thanks,

Jan

bcodesido commented 7 years ago

The script you run to secure the chain downloads and verify the gradle wrapper. That should solve the issue. :smile:

janbraiins commented 7 years ago

I am not sure what you mean by the comment. The script fails with the above error. I have checked out the latest tag GINGER-0.2.1. Looking at the origin, I don't see any recent fixes inside the script. I am assuming that the documentation should somehow reflect what needs to be done to build it inside the docker.

The example I gave was a shell session inside of the container so that I could investigate why it cannot find/download gradle. The container can reach the Internet.

bcodesido commented 7 years ago

We have already fixed the README.md to reflect what needs to be done.

janbraiins commented 7 years ago

I hope you won't take this as an offense. I am aware of the reproducible parameter but this is not the problem here. The thing just can't find the gradle class. Nothing is being downloaded, just this plain error. Is the Docker file missing any important part that needs to be part of the image then?

docker run -v $(pwd):/rskj -w /rskj -ti rsk-buildmachine:latest ./gradlew shadow reproducible
Error: Could not find or load main class org.gradle.wrapper.GradleWrapperMain

I have tested the above on the current master branch of rskj and the result is exactly the same.

bcodesido commented 7 years ago

The docker container purpose is to reproduce the build, the README.md says that. Following the reproducible build procedure you will found that is needed to verify the secure chain. The secure chain verification also initialize the repo once is cloned by download your missing gradle wrapper.

janbraiins commented 7 years ago

Thank you that explains the whole issue. I didn't need the verification for the test build and thus didn't run the configure.sh