build.gradle 2.1 KB
Newer Older
梦境迷离's avatar
梦境迷离 已提交
1 2 3
plugins {
    id "com.diffplug.gradle.spotless" version "3.30.0"
}
4
subprojects {
5

6 7 8
    apply plugin: 'java'
    apply plugin: 'maven'
    apply plugin: 'scala'
梦境迷离's avatar
梦境迷离 已提交
9
    apply plugin: 'com.diffplug.gradle.spotless'
10

11 12
    group = 'io.github'
    version = '2.0.0'
13

14
    description = "Recording Learning, Work, Interview, Summary and Reflection"
15

16 17
    sourceCompatibility = 1.8
    targetCompatibility = 1.8
18

梦境迷离's avatar
梦境迷离 已提交
19

20
    repositories {
梦境迷离's avatar
梦境迷离 已提交
21 22 23 24
        //强制HTTPS了
        maven {
            url "https://plugins.gradle.org/m2/"
        }
L
LiGuoBin 已提交
25
        maven { url "https://repo.maven.apache.org/maven2" }
26 27 28 29 30 31 32 33 34 35
    }

    sourceSets {
        main {
            scala {
                srcDirs = ['src/main/java', 'src/main/scala']
            }
            java {
                srcDirs = []
            }
梦境迷离's avatar
梦境迷离 已提交
36
        }
梦境迷离's avatar
梦境迷离 已提交
37 38 39 40 41 42

        test {
            scala {
                srcDirs = ['src/test/java','src/test/scala']
            }
        }
梦境迷离's avatar
梦境迷离 已提交
43
    }
44 45 46 47 48 49 50 51 52

    /**
     * 所有项目共用Scala2.12.8
     *
     * sbt有点慢,所以用了gradle,其他sbt项目不好继承进来,PS:降低编译速度
     */
    dependencies {
        compile group: 'junit', name: 'junit', version: '4.12'
        compile group: 'org.scala-lang', name: 'scala-library', version: '2.12.8'
梦境迷离's avatar
split  
梦境迷离 已提交
53
        compile group: 'org.scala-lang', name: 'scala-reflect', version: '2.12.8'
梦境迷离's avatar
梦境迷离 已提交
54
        compile group: 'com.diffplug.spotless', name: 'spotless-plugin-gradle', version: '3.30.0'
55 56 57 58
    }

    [compileJava, compileScala, compileTestScala, compileTestJava, javadoc]*.options*.encoding = 'UTF-8'

梦境迷离's avatar
梦境迷离 已提交
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
    /**
     * gradle spotlessApply
     * 自动格式化Java
     */
    spotless {
        java {
            googleJavaFormat('1.1').aosp()
        }
    }
}

/**
 * gradle  spotlessApply
 * 格式化所有Scala项目
 */
project(':scala-leetcode') {
    spotless {
        scala {
            scalafmt('2.5.2').configFile('.scalafmt.conf')
        }
    }
}

project(':scala-utils') {
    spotless {
        scala {
            scalafmt('2.5.2').configFile('.scalafmt.conf')
        }
    }
}

project(':scala-examples') {
    spotless {
        scala {
            scalafmt('2.5.2').configFile('.scalafmt.conf')
        }
    }
96
}