Implement single idea sdk scheme, some refactoring

This commit is contained in:
Ilya Chernikov
2017-12-20 12:34:37 +01:00
committed by Vyacheslav Gerasimov
parent 5f7c783bb2
commit 7218bd536c
4 changed files with 5 additions and 30 deletions
@@ -11,13 +11,13 @@ val intellijUltimateEnabled: Boolean by rootProject.extra
val intellijRepo: String by rootProject.extra val intellijRepo: String by rootProject.extra
val intellijReleaseType: String by rootProject.extra val intellijReleaseType: String by rootProject.extra
val intellijVersion = rootProject.extra["versions.intellijSdk"] as String val intellijVersion = rootProject.extra["versions.intellijSdk"] as String
val intellijFlavour = if (intellijUltimateEnabled) "ideaIU" else "ideaIC"
repositories { repositories {
maven { setUrl("$intellijRepo/$intellijReleaseType") } maven { setUrl("$intellijRepo/$intellijReleaseType") }
} }
val intellij by configurations.creating val intellij by configurations.creating
val intellijUltimate by configurations.creating
val sources by configurations.creating val sources by configurations.creating
val `jps-standalone` by configurations.creating val `jps-standalone` by configurations.creating
val `jps-build-test` by configurations.creating val `jps-build-test` by configurations.creating
@@ -30,10 +30,7 @@ val customDepsRepoModulesDir = File(customDepsRepoDir, "$customDepsOrg/$customDe
val repoDir = customDepsRepoModulesDir val repoDir = customDepsRepoModulesDir
dependencies { dependencies {
intellij("com.jetbrains.intellij.idea:ideaIC:$intellijVersion") intellij("com.jetbrains.intellij.idea:$intellijFlavour:$intellijVersion")
if (intellijUltimateEnabled) {
intellijUltimate("com.jetbrains.intellij.idea:ideaIU:$intellijVersion")
}
sources("com.jetbrains.intellij.idea:ideaIC:$intellijVersion:sources@jar") sources("com.jetbrains.intellij.idea:ideaIC:$intellijVersion:sources@jar")
`jps-standalone`("com.jetbrains.intellij.idea:jps-standalone:$intellijVersion") `jps-standalone`("com.jetbrains.intellij.idea:jps-standalone:$intellijVersion")
`jps-build-test`("com.jetbrains.intellij.idea:jps-build-test:$intellijVersion") `jps-build-test`("com.jetbrains.intellij.idea:jps-build-test:$intellijVersion")
@@ -55,8 +52,6 @@ fun Task.configureExtractFromConfigurationTask(sourceConfig: Configuration, extr
val unzipIntellijSdk by tasks.creating { configureExtractFromConfigurationTask(intellij) { zipTree(it.singleFile) } } val unzipIntellijSdk by tasks.creating { configureExtractFromConfigurationTask(intellij) { zipTree(it.singleFile) } }
val unzipIntellijUltimateSdk by tasks.creating { configureExtractFromConfigurationTask(intellijUltimate) { zipTree(it.singleFile) } }
val unzipIntellijCore by tasks.creating { configureExtractFromConfigurationTask(`intellij-core`) { zipTree(it.singleFile) } } val unzipIntellijCore by tasks.creating { configureExtractFromConfigurationTask(`intellij-core`) { zipTree(it.singleFile) } }
val unzipJpsStandalone by tasks.creating { configureExtractFromConfigurationTask(`jps-standalone`) { zipTree(it.singleFile) } } val unzipJpsStandalone by tasks.creating { configureExtractFromConfigurationTask(`jps-standalone`) { zipTree(it.singleFile) } }
@@ -88,12 +83,6 @@ val prepareIvyXml by tasks.creating {
inputs.dir(intellijSdkDir) inputs.dir(intellijSdkDir)
outputs.file(File(repoDir, "${intellij.name}.ivy.xml")) outputs.file(File(repoDir, "${intellij.name}.ivy.xml"))
val intellijUltimateSdkDir = File(repoDir, intellijUltimate.name)
if (intellijUltimateEnabled) {
dependsOn(unzipIntellijUltimateSdk)
inputs.dir(intellijUltimateSdkDir)
outputs.file(File(repoDir, "${intellijUltimate.name}.ivy.xml"))
}
val flatDeps = listOf(`intellij-core`, `jps-standalone`, `jps-build-test`) val flatDeps = listOf(`intellij-core`, `jps-standalone`, `jps-build-test`)
flatDeps.forEach { flatDeps.forEach {
inputs.dir(File(repoDir, it.name)) inputs.dir(File(repoDir, it.name))
@@ -111,16 +100,6 @@ val prepareIvyXml by tasks.creating {
writeIvyXml(it.name, "intellij.plugin.${it.name}", files("$it/lib/"), File(it, "lib"), sourcesFile) writeIvyXml(it.name, "intellij.plugin.${it.name}", files("$it/lib/"), File(it, "lib"), sourcesFile)
} }
if (intellijUltimateEnabled) {
writeIvyXml(intellijUltimate.name, intellijUltimate.name,
files("$intellijUltimateSdkDir/lib/").filter { !it.name.startsWith("kotlin-") },
File(intellijUltimateSdkDir, "lib"),
sourcesFile)
File(intellijUltimateSdkDir, "plugins").listFiles { it: File -> it.isDirectory }.forEach {
writeIvyXml(it.name, "intellijUltimate.plugin.${it.name}", files("$it/lib/"), File(it, "lib"), sourcesFile)
}
}
flatDeps.forEach { flatDeps.forEach {
writeIvyXml(it.name, it.name, files("$repoDir/${it.name}"), File(repoDir, it.name), sourcesFile) writeIvyXml(it.name, it.name, files("$repoDir/${it.name}"), File(repoDir, it.name), sourcesFile)
} }
@@ -13,10 +13,8 @@ fun RepositoryHandler.intellijSdkRepo(project: Project): IvyArtifactRepository =
setUrl(baseDir) setUrl(baseDir)
ivyPattern("${baseDir.canonicalPath}/[organisation]/[revision]/[module].ivy.xml") ivyPattern("${baseDir.canonicalPath}/[organisation]/[revision]/[module].ivy.xml")
ivyPattern("${baseDir.canonicalPath}/[organisation]/[revision]/intellij.plugin.[module].ivy.xml") ivyPattern("${baseDir.canonicalPath}/[organisation]/[revision]/intellij.plugin.[module].ivy.xml")
ivyPattern("${baseDir.canonicalPath}/[organisation]/[revision]/intellijUltimate.plugin.[module].ivy.xml")
artifactPattern("${baseDir.canonicalPath}/[organisation]/[revision]/[module]/lib/[artifact](-[classifier]).jar") artifactPattern("${baseDir.canonicalPath}/[organisation]/[revision]/[module]/lib/[artifact](-[classifier]).jar")
artifactPattern("${baseDir.canonicalPath}/[organisation]/[revision]/intellij/plugins/[module]/lib/[artifact](-[classifier]).jar") artifactPattern("${baseDir.canonicalPath}/[organisation]/[revision]/intellij/plugins/[module]/lib/[artifact](-[classifier]).jar")
artifactPattern("${baseDir.canonicalPath}/[organisation]/[revision]/intellijUltimate/plugins/[module]/lib/[artifact](-[classifier]).jar")
artifactPattern("${baseDir.canonicalPath}/[organisation]/[revision]/[module]/[artifact].jar") artifactPattern("${baseDir.canonicalPath}/[organisation]/[revision]/[module]/[artifact].jar")
artifactPattern("${baseDir.canonicalPath}/[organisation]/[revision]/[module]/[artifact](-[revision])(-[classifier]).jar") artifactPattern("${baseDir.canonicalPath}/[organisation]/[revision]/[module]/[artifact](-[revision])(-[classifier]).jar")
artifactPattern("${baseDir.canonicalPath}/[organisation]/[revision]/sources/[artifact]-[revision]-[classifier].[ext]") artifactPattern("${baseDir.canonicalPath}/[organisation]/[revision]/sources/[artifact]-[revision]-[classifier].[ext]")
@@ -28,8 +26,6 @@ fun Project.intellijCoreDep() = intellijDep("intellij-core")
fun Project.intellijPluginDep(plugin: String) = intellijDep(plugin) fun Project.intellijPluginDep(plugin: String) = intellijDep(plugin)
fun Project.intellijUltimateDep() = intellijDep("intellijUltimate")
fun ModuleDependency.includeJars(vararg names: String) { fun ModuleDependency.includeJars(vararg names: String) {
names.forEach { names.forEach {
artifact { artifact {
+2 -2
View File
@@ -30,7 +30,7 @@ dependencies {
compile(project(":idea:ide-common")) { isTransitive = false } compile(project(":idea:ide-common")) { isTransitive = false }
compile(project(":idea:idea-gradle")) { isTransitive = false } compile(project(":idea:idea-gradle")) { isTransitive = false }
compileOnly(intellijCoreDep()) { includeJars("intellij-core") } compileOnly(intellijCoreDep()) { includeJars("intellij-core") }
compileOnly(intellijUltimateDep()) { includeJars("annotations", "trove4j", "openapi", "idea", "util", "jdom") } compileOnly(intellijDep()) { includeJars("annotations", "trove4j", "openapi", "idea", "util", "jdom") }
compileOnly(intellijPluginDep("CSS")) compileOnly(intellijPluginDep("CSS"))
compileOnly(intellijPluginDep("DatabaseTools")) compileOnly(intellijPluginDep("DatabaseTools"))
compileOnly(intellijPluginDep("JavaEE")) compileOnly(intellijPluginDep("JavaEE"))
@@ -86,7 +86,7 @@ dependencies {
springClasspath(commonDep("org.springframework", "spring-web")) springClasspath(commonDep("org.springframework", "spring-web"))
testCompileOnly(intellijDep()) { includeJars("gson-2.5", "annotations", "trove4j", "openapi", "idea", "util", "jdom") } testCompileOnly(intellijDep()) { includeJars("gson-2.5", "annotations", "trove4j", "openapi", "idea", "util", "jdom") }
testRuntime(intellijUltimateDep()) testRuntime(intellijDep())
testCompile(intellijPluginDep("CSS")) testCompile(intellijPluginDep("CSS"))
testCompile(intellijPluginDep("DatabaseTools")) testCompile(intellijPluginDep("DatabaseTools"))
testCompile(intellijPluginDep("JavaEE")) testCompile(intellijPluginDep("JavaEE"))
+1 -1
View File
@@ -21,7 +21,7 @@ dependencies {
compileOnly(project(":idea:idea-jvm")) compileOnly(project(":idea:idea-jvm"))
runtimeOnly(files(toolsJar())) runtimeOnly(files(toolsJar()))
compileOnly(intellijUltimateDep()) compileOnly(intellijDep())
} }
afterEvaluate { afterEvaluate {