Implement single idea sdk scheme, some refactoring
This commit is contained in:
committed by
Vyacheslav Gerasimov
parent
5f7c783bb2
commit
7218bd536c
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
-4
@@ -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 {
|
||||||
@@ -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"))
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user