title: How/when to generate Gradle wrapper files?
body: <p>I am trying to understand how the Gradle Wrapper works. In many source repos, I see the following structure:</p>
  
  <pre><code>projectRoot/
      src/
      build.gradle
      gradle.properties
      settings.gradle
      gradlew
      gradlew.bat
      gradle/
          wrapper/
              gradle-wrapper.jar
              gradle-wrapper.properties
  </code></pre>
  
  <p>My questions:</p>
  
  <ol>
  <li>How/when does one generate <code>gradlew</code>/<code>gradlew.bat</code>? 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?</li>
  <li>Same question above, but for the <code>gradle/wrapper/*</code> files (<code>gradle-wrapper.jar</code> and <code>gradle-wrapper.properties</code>)?</li>
  <li>Some times I see other <code>*.gradle</code> files inside the project's <code>gradle</code> directory. What are these additional Gradle files and what do they represent/do? Custom plugins?</li>
  <li>What is the difference in properties that go into <code>settings.gradle</code> vs what should be defined inside <code>gradle.properties</code>?</li>
  </ol>