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

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. buildscript {
  2. repositories {
  3. google()
  4. mavenCentral()
  5. }
  6. dependencies {
  7. classpath 'com.android.tools.build:gradle:7.1.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 26
  58. defaultConfig {
  59. minSdkVersion 14
  60. targetSdkVersion 26
  61. versionCode 22
  62. versionName "1.52-dev"
  63. }
  64. externalNativeBuild {
  65. ndkBuild {
  66. path "jni/Android.mk"
  67. }
  68. }
  69. sourceSets {
  70. main {
  71. manifest.srcFile 'AndroidManifest.xml'
  72. java.srcDirs = ['src']
  73. res.srcDirs = ['res']
  74. }
  75. androidTest.setRoot('eSpeakTests')
  76. androidTest {
  77. java.srcDirs = ['eSpeakTests/src']
  78. }
  79. }
  80. lintOptions {
  81. abortOnError false
  82. }
  83. }