'Should I upload source code or compiled jars to hyperledger fabric when deploying a Java chaincode?

I just started learning HyperLedger Fabric and was trying to deploy a chaincode written in Java to the test-network in fabric-samples, with the latest version.

I looked into the deployCC.sh shipped with fabric-samples and see it runs ./gradlew installDist locally, then package the build/install/$CC_NAME path, which contains all compiled jar files.

However, I see in this script and this tutorial that fabric expects you to upload the source code and it will run ./gradlew build shadowJar -x test on the uploaded source code and generate a fat shadowJar that contains everything from both my source and the dependencies remotely.

I am a bit confused right now. Do both uploading compiled jars and source code work? If both work, which one should I choose when deploying to a production network?

Thanks for the attention and help!



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source