eSpeak NG is an open source speech synthesizer that supports more than hundred languages and accents.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

build.gradle 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. buildscript {
  2. repositories {
  3. google()
  4. mavenCentral()
  5. }
  6. dependencies {
  7. classpath 'com.android.tools.build:gradle:7.2.2'
  8. }
  9. }
  10. plugins {
  11. id 'org.gradle.crypto.checksum' version '1.4.0'
  12. }
  13. import org.gradle.crypto.checksum.Checksum
  14. apply plugin: 'com.android.application'
  15. repositories {
  16. google()
  17. mavenCentral()
  18. }
  19. dependencies {
  20. testImplementation 'junit:junit:4.12'
  21. androidTestImplementation 'org.hamcrest:hamcrest-all:1.3'
  22. }
  23. tasks.register('checkData') {
  24. doFirst {
  25. assert file("../espeak-ng-data/en_dict").exists()
  26. assert file("../espeak-ng-data/intonations").exists()
  27. assert file("../espeak-ng-data/phondata").exists()
  28. assert file("../espeak-ng-data/phondata-manifest").exists()
  29. assert file("../espeak-ng-data/phonindex").exists()
  30. assert file("../espeak-ng-data/phontab").exists()
  31. }
  32. }
  33. tasks.register('createDataArchive', Zip) {
  34. dependsOn tasks.checkData
  35. preserveFileTimestamps = false
  36. reproducibleFileOrder = true
  37. archiveFileName = "espeakdata.zip"
  38. destinationDirectory = file("res/raw")
  39. from("../espeak-ng-data/") {
  40. into "espeak-ng-data"
  41. }
  42. }
  43. tasks.register('createDataHash', Checksum) {
  44. dependsOn tasks.createDataArchive
  45. checksumAlgorithm.set(Checksum.Algorithm.SHA256)
  46. inputFiles.setFrom(file("./res/raw/espeakdata.zip"))
  47. outputDirectory.set(layout.buildDirectory.dir('intermediates/datahash'))
  48. }
  49. tasks.register('createDataVersion', Copy) {
  50. dependsOn tasks.createDataHash
  51. from layout.buildDirectory.file('intermediates/datahash/espeakdata.zip.sha256')
  52. rename { return 'espeakdata_version' }
  53. into file("./res/raw")
  54. }
  55. preBuild.dependsOn createDataVersion
  56. android {
  57. compileSdkVersion 33
  58. ndkVersion "25.1.8937393"
  59. defaultConfig {
  60. minSdkVersion 19
  61. targetSdkVersion 30
  62. versionCode 22
  63. versionName "1.52-dev"
  64. }
  65. externalNativeBuild {
  66. ndkBuild {
  67. path "jni/Android.mk"
  68. }
  69. }
  70. sourceSets {
  71. main {
  72. manifest.srcFile 'AndroidManifest.xml'
  73. java.srcDirs = ['src']
  74. res.srcDirs = ['res']
  75. }
  76. androidTest.setRoot('eSpeakTests')
  77. androidTest {
  78. java.srcDirs = ['eSpeakTests/src']
  79. }
  80. }
  81. lintOptions {
  82. abortOnError false
  83. }
  84. }