deeplearning4j / deeplearning4j-examples

Deeplearning4j Examples (DL4J, DL4J Spark, DataVec)
http://deeplearning4j.konduit.ai
Other
2.46k stars 1.82k forks source link

Update Gradle example deeplearning4j-examples to support Kotlin DSL with the latest Gradle v6.3 #963

Open loxal opened 4 years ago

loxal commented 4 years ago

I could provide you with a corresponding pull request and wanted to check if this is actually wanted before I waste my time...

I could refactor build.gradle to build.gradle.kts that supports the statically typed Kotlin DSL and runs without deprecation warnings with the latest version of Gradle.

Also the idiomatic way shipping Gradle projects is actually committing the Gradle binary into the repository. This might not be needed for Maven which remains API stable for years. However what runs with gradlew build on your computer will much more likely not run on my or even on your own just 6 months later. Therefore it is highly advisable to ship the Gradle binary to avoid frustration for people "who just want to evaluate..." :)

saudet commented 4 years ago

@RobAltena is about to start working on that for Android, but a Gradle build for the rest of the examples would obviously be also welcome.

Note that because of restrictions from Eclipse, we cannot put binary blobs in this repository. In any case, please open a pull request if/when you have something to review! Thanks

BTW, @treo, @eraly and others have started to refactor the examples in another repository, so you might want to start working on that with them there instead: https://github.com/KonduitAI/deeplearning4j-examples-refactor

RobAltena commented 4 years ago

Hello, thanks for helping out. Now I am quite new to Gradle. Can I ask if this is what you are proposing to add? https://docs.gradle.org/current/userguide/gradle_wrapper.html

loxal commented 4 years ago

@RobAltena Yes, it is. It's basically all about shipping the blob of a very fast moving build tool. Alternatively a specific Gradle version should be mentioned that successfully build the project. A blob-less approach would be to commit just ./gradle/wrapper/gradle-wrapper.properties.

@saudet thanks, but all of their examples seem to be based on Maven.

So I will try to provide you with a corresponding PR for this issue by the end of this week. If I should not provide any feedback or a PR by then, consider this issue abandoned (by me).