aboutsummaryrefslogtreecommitdiff
path: root/build.gradle
blob: dc9d259761a01d714e4878588e27262c37e4c7d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
import emoji.EmojiCollector
import emoji.EmojiKeyboardsExtractor

System.setProperty("file.encoding", "UTF-8")

apply from: "$rootDir/constants.gradle"

buildscript {
    repositories {
        mavenLocal()
        jcenter()
        mavenCentral()
        maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
        maven { url 'https://jitpack.io' }
        maven { url "https://plugins.gradle.org/m2/" }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
        classpath "net.ltgt.gradle:gradle-errorprone-plugin:0.0.10"
        classpath 'com.github.Triple-T:gradle-play-publisher:8cda31a5d0e3c4f2d7f47ffde6fc3b370e59dd8a'
        classpath 'com.github.AnySoftKeyboard.AnySoftKeyboardTools:makedictionary:287fe7812294918636359e4d28dbcbc931f3dab8'
        classpath 'com.github.AnySoftKeyboard.AnySoftKeyboardTools:generatewordslist:287fe7812294918636359e4d28dbcbc931f3dab8'
        classpath 'org.jsoup:jsoup:1.9.1'
    }
}

apply plugin: "net.ltgt.errorprone"
apply plugin: 'pmd'

configurations.errorprone {
    resolutionStrategy.force 'com.google.errorprone:error_prone_core:2.0.21'
}

allprojects {
    repositories {
        jcenter()
        mavenCentral()
        maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
        maven { url "https://jitpack.io" }
    }
}

//this task is not used anymore, we use AOSP dictionary instead
task parseInputFilesForEnglishDictionary(type: com.anysoftkeyboard.tools.generatewordslist.GenerateWordsListTask) {
    inputFiles file(new File(project.getProjectDir(), "english_dictionary/inputs/")).listFiles()
    outputWordsListFile new File(project.getProjectDir(), "english_dictionary/words_from_inputs.xml")
}

task parseAospForEnglishDictionary(type: com.anysoftkeyboard.tools.generatewordslist.GenerateWordsListFromAOSPTask) {
    inputFile new File(project.getProjectDir(), "english_dictionary/aosp_en_wordlist.combined")
    outputWordsListFile new File(project.getProjectDir(), "english_dictionary/words_from_aosp.xml")
    maxWordsInList 300000
}

task mergeAllWordLists(type: com.anysoftkeyboard.tools.generatewordslist.MergeWordsListTask) {
    dependsOn parseAospForEnglishDictionary

    inputWordsListFiles = [
            new File(project.getProjectDir(), "english_dictionary/words_from_aosp.xml"),
            new File(project.getProjectDir(), "english_dictionary/words_from_legacy.xml")
    ] as File[]
    outputWordsListFile new File(project.getProjectDir(), "english_dictionary/words_merged.xml")
    maxWordsInList 300000

    wordsToDiscard = ['clubbing\'s', 'muggins\'s', 'olefin', 'cs\'s']
}

task makeEnglishDictionary(type: com.anysoftkeyboard.tools.makedictionary.MakeDictionaryTask) {
    dependsOn mergeAllWordLists
    inputWordsListFile new File(project.getProjectDir(), "english_dictionary/words_merged.xml")
    resourcesFolder = new File(project.findProject("app").projectDir, "/src/main/res/")
}

task makeEmojiKeyboards {
    doLast {
        //http://unicode.org/emoji/charts/full-emoji-list.html
        //http://unicode.org/emoji/charts-beta/full-emoji-list.html
        EmojiKeyboardsExtractor extractor = new EmojiKeyboardsExtractor(
                new File(projectDir, "/emojis/full_emoji_data.htm"),
                new File(project.findProject("app").projectDir, "/src/main/res/xml-v26/"))
        //adding known collectors
        extractor.addEmojiCollector(EmojiCollector.EMOTICONS_COLLECTOR)
        extractor.addEmojiCollector(EmojiCollector.FLAGS_COLLECTOR)
        extractor.addEmojiCollector(EmojiCollector.PEOPLE_COLLECTOR)
        extractor.addEmojiCollector(EmojiCollector.ACTIVITY_COLLECTOR)
        extractor.addEmojiCollector(EmojiCollector.ACCESSORIES_COLLECTOR)
        extractor.addEmojiCollector(EmojiCollector.SCAPE_COLLECTOR)
        extractor.addEmojiCollector(EmojiCollector.FOOD_COLLECTOR)
        extractor.addEmojiCollector(EmojiCollector.NATURE_COLLECTOR)
        extractor.addEmojiCollector(EmojiCollector.OFFICE_COLLECTOR)
        extractor.addEmojiCollector(EmojiCollector.SIGNS_COLLECTOR)
        extractor.addEmojiCollector(EmojiCollector.OCCASIONS_COLLECTOR)
        extractor.addEmojiCollector(EmojiCollector.TRANSPORT_COLLECTOR)

        extractor.setUncollectedEmojisCollector(EmojiCollector.UNCOLLECTED_COLLECTOR)

        extractor.parseEmojiListIntoKeyboardResources()
    }
}