Angular: Provide convenient Gradle setup for contributors
[idea/contrib.git] / AngularJS / build.gradle.kts
1 // Copyright 2000-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
2 buildscript {
3   repositories {
4     mavenCentral()
5     maven("https://dl.bintray.com/jetbrains/intellij-plugin-service")
6   }
7 }
8
9 repositories {
10   mavenCentral()
11   maven("https://jetbrains.bintray.com/intellij-third-party-dependencies")
12   maven("https://jetbrains.bintray.com/jediterm")
13   maven("https://jetbrains.bintray.com/pty4j")
14   maven("https://cache-redirector.jetbrains.com/www.myget.org/F/rd-snapshots/maven")
15 }
16
17 plugins {
18   id("org.jetbrains.intellij") version "0.4.23"
19   java
20   kotlin("jvm") version "1.4.0"
21 }
22
23 dependencies {
24   implementation(kotlin("stdlib-jdk8"))
25   testImplementation("junit", "junit", "4.12")
26 }
27
28 sourceSets {
29   main {
30     java {
31       setSrcDirs(listOf("src", "gen"))
32     }
33     resources {
34       setSrcDirs(listOf("resources"))
35     }
36   }
37   test {
38     java {
39       setSrcDirs(listOf("test"))
40     }
41   }
42 }
43
44 java {
45   sourceCompatibility = JavaVersion.VERSION_11
46   targetCompatibility = JavaVersion.VERSION_11
47 }
48
49 val ideVersion = "203-SNAPSHOT"
50
51 intellij {
52   version = "IU-${ideVersion}"
53   pluginName = "AngularJS"
54   downloadSources = true
55   updateSinceUntilBuild = false
56   setPlugins("JavaScriptLanguage", "JSIntentionPowerPack", "CSS", "uml", "tslint")
57 }
58
59 dependencies {
60   testImplementation("com.jetbrains.intellij.javascript:javascript-test-framework:${ideVersion}")
61   testImplementation("com.jetbrains.intellij.resharper:resharper-test-framework:${ideVersion}")
62   testImplementation("com.jetbrains.intellij.copyright:copyright:${ideVersion}")
63   testImplementation("com.mscharhag.oleaster:oleaster-matcher:0.2.0")
64   testImplementation("com.mscharhag.oleaster:oleaster-runner:0.2.0")
65 }
66
67 tasks {
68   withType(JavaCompile::class.java) {
69     options.encoding = "UTF-8"
70   }
71   withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile::class.java) {
72     kotlinOptions.jvmTarget = "11"
73     kotlinOptions.freeCompilerArgs = listOf("-Xjvm-default=compatibility")
74   }
75   test {
76     systemProperty("idea.home.path", File("${projectDir}/../../").absolutePath)
77   }
78   wrapper {
79     gradleVersion = "6.6.1"
80   }
81 }