buildscript {
  repositories {
    mavenCentral()
    maven { url 'https://s01.oss.sonatype.org' }
    gradlePluginPortal()
    mavenLocal()
    google()
    maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
    maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' }
  }
  dependencies {


  }
}

allprojects {
  apply plugin: 'eclipse'
  apply plugin: 'idea'

  // This allows you to "Build and run using IntelliJ IDEA", an option in IDEA's Settings.
  idea {
    module {
      outputDir file('build/classes/java/main')
      testOutputDir file('build/classes/java/test')
    }
  }
}

configure(subprojects) {
  apply plugin: 'java-library'
  sourceCompatibility = 11

  // From https://lyze.dev/2021/04/29/libGDX-Internal-Assets-List/
  // The article can be helpful when using assets.txt in your project.
  tasks.register('generateAssetList') {
    inputs.dir("${project.rootDir}/assets/")
    // projectFolder/assets
    File assetsFolder = new File("${project.rootDir}/assets/")
    // projectFolder/assets/assets.txt
    File assetsFile = new File(assetsFolder, "assets.txt")
    // delete that file in case we've already created it
    assetsFile.delete()

    // iterate through all files inside that folder
    // convert it to a relative path
    // and append it to the file assets.txt
    fileTree(assetsFolder).collect { assetsFolder.relativePath(it) }.sort().each {
      assetsFile.append(it + "\n")
    }
  }
  processResources.dependsOn 'generateAssetList'

  compileJava {
    options.incremental = true
  }
}

subprojects {
  version = '$projectVersion'
  ext.appName = 'Parallax'
  repositories {
    mavenCentral()
    maven { url 'https://s01.oss.sonatype.org' }
    // You may want to remove the following line if you have errors downloading dependencies.
    mavenLocal()
    maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
    maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots/' }
    maven { url 'https://jitpack.io' }
  }
}

eclipse.project.name = 'Parallax' + '-parent'
