Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 15 additions & 20 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import org.jetbrains.intellij.platform.gradle.TestFrameworkType
import org.jetbrains.intellij.platform.gradle.tasks.PrepareSandboxTask
import org.jetbrains.intellij.platform.gradle.tasks.VerifyPluginTask
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import java.security.MessageDigest
import java.util.zip.ZipFile
import kotlin.io.path.pathString

plugins {
id("java")
Expand Down Expand Up @@ -62,10 +62,7 @@ dependencies {
intellijPlatform {
intellijIdeaCommunity(libs.versions.intellij, useInstaller = !libs.versions.intellij.get().contains("SNAPSHOT"))
bundledPlugins("org.intellij.intelliLang", "org.jetbrains.plugins.terminal")
bundledLibrary(provider {
// TODO[#340]: This is a workaround, remove in intellij-platform-gradle-plugin 2.2.2
project.intellijPlatform.platformPath.resolve("lib/testFramework.jar").pathString
})
testFramework(TestFrameworkType.Bundled)
testFramework(TestFrameworkType.Platform)
pluginVerifier()
}
Expand Down Expand Up @@ -151,7 +148,7 @@ tasks {
sourceCompatibility = "17"
targetCompatibility = "17"
}
withType<org.jetbrains.kotlin.gradle.tasks.KotlinCompile> {
withType<KotlinCompile> {
dependsOn(generateLexer, generateParser)

compilerOptions {
Expand All @@ -175,16 +172,13 @@ tasks {
}
}

val verifyPsScriptAnalyzer by registering {
dependsOn(psScriptAnalyzer)
fun PrepareSandboxTask.unpackPsScriptAnalyzer(outDir: Provider<String>) {
inputs.files(psScriptAnalyzer)
inputs.property("hash", psScriptAnalyzerSha256Hash)

doFirst {
psScriptAnalyzer.singleFile.verifyHash(psScriptAnalyzerSha256Hash)
}
}

fun PrepareSandboxTask.unpackPsScriptAnalyzer(outDir: Provider<String>) {
dependsOn(psScriptAnalyzer, verifyPsScriptAnalyzer)

from(zipTree(psScriptAnalyzer.singleFile)) {
into(outDir.map { "$it/PSScriptAnalyzer" })
Expand All @@ -197,16 +191,12 @@ tasks {
}
}

val verifyPowerShellEditorServices by registering {
dependsOn(powerShellEditorServices)
fun PrepareSandboxTask.unpackPowerShellEditorServices(outDir: Provider<String>) {
inputs.files(powerShellEditorServices)
inputs.property("hash", psesSha256Hash)
doFirst {
powerShellEditorServices.singleFile.verifyHash(psesSha256Hash)
}
}

fun PrepareSandboxTask.unpackPowerShellEditorServices(outDir: Provider<String>) {
dependsOn(powerShellEditorServices, verifyPowerShellEditorServices)

from(zipTree(powerShellEditorServices.singleFile)) {
into(outDir.map { "$it/" })
Expand All @@ -224,10 +214,15 @@ tasks {
val maxUnpackedPluginBytes: String by project
val verifyDistributionSize by registering {
group = "verification"
dependsOn(buildPlugin)

val pluginArtifact = buildPlugin.flatMap { it.archiveFile }

inputs.file(pluginArtifact)
inputs.property("maxUnpackedPluginBytes", maxUnpackedPluginBytes)
outputs.upToDateWhen { true }

doLast {
val artifact = buildPlugin.flatMap { it.archiveFile }.get().asFile
val artifact = pluginArtifact.get().asFile
val unpackedSize = ZipFile(artifact).use { it.entries().asSequence().sumOf { e -> e.size } }
val unpackedSizeMiB = "%.3f".format(unpackedSize / 1024.0 / 1024.0)
if (unpackedSize > maxUnpackedPluginBytes.toLong()) {
Expand Down
2 changes: 2 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@ psScriptAnalyzerSha256Hash=E86C97D44BB1BC8A1DE35E753B85EA1D938F6F9F881639A181507

psesVersion=4.3.0
psesSha256Hash=CBE2F11F0076B05D44F148F0C7BBD38A3B30EEEAE99C45C6D0C309EDFF50136A

org.gradle.caching=true
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
Expand Down
8 changes: 5 additions & 3 deletions gradlew
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
# SPDX-License-Identifier: Apache-2.0
#

##############################################################################
#
Expand Down Expand Up @@ -55,7 +57,7 @@
# Darwin, MinGW, and NonStop.
#
# (3) This script is generated from the Groovy template
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
# within the Gradle project.
#
# You can find Gradle at https://github.com/gradle/gradle/.
Expand Down Expand Up @@ -84,7 +86,7 @@ done
# shellcheck disable=SC2034
APP_BASE_NAME=${0##*/}
# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
APP_HOME=$( cd "${APP_HOME:-./}" > /dev/null && pwd -P ) || exit
APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s\n' "$PWD" ) || exit

# Use the maximum available, or set MAX_FD != -1 to use that value.
MAX_FD=maximum
Expand Down Expand Up @@ -294,7 +296,7 @@ fi
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'

# Collect all arguments for the java command:
# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# * DEFAULT_JVM_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
# and any embedded shellness will be escaped.
# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
# treated as '${Hostname}' itself on the command line.
Expand Down
2 changes: 2 additions & 0 deletions gradlew.bat
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
@rem
@rem SPDX-License-Identifier: Apache-2.0
@rem

@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
Expand Down