I am trying to understand how the Gradle Wrapper works. In many source repos, I see the following structure:
projectRoot/
src/
build.gradle
gradle.properties
settings.gradle
gradlew
gradlew.bat
gradle/
wrapper/
gradle-wrapper.jar
gradle-wrapper.properties
My questions:
- How/when does one generate
gradlew/gradlew.bat? Are you supposed to generate them only one time when the project is first created, do you generate them every time you commit/push changes? And how are they generated? - Same question above, but for the
gradle/wrapper/*files (gradle-wrapper.jarandgradle-wrapper.properties)? - Some times I see other
*.gradlefiles inside the project'sgradledirectory. What are these additional Gradle files and what do they represent/do? Custom plugins? - What is the difference in properties that go into
settings.gradlevs what should be defined insidegradle.properties?