-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgradle.properties
More file actions
70 lines (63 loc) · 3.56 KB
/
Copy pathgradle.properties
File metadata and controls
70 lines (63 loc) · 3.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Plugin coordinates surfaced to JetBrains Marketplace when we eventually publish.
pluginGroup = com.xphp.lsp
pluginName = xphp
pluginVersion = 0.3.0
# Plugin compatibility window.
#
# 261.* = PhpStorm 2026.1. We target the 2026.1 LSP API specifically because:
# * The IntelliJ Platform LSP API went *free for all editions* in 2025.2.
# Earlier than that, LSP required Ultimate.
# * 2026.1 added the rest of the LSP feature surface we lean on -- Code Lens,
# range formatting, Optimize Imports. Older baselines would mean shimming
# half the protocol ourselves or falling back to LSP4IJ, both of which buy
# more code for an MVP than they save.
# 262.* = next major's first minor. Widens the until-build so a routine
# PhpStorm update doesn't auto-disable the plugin; we'll bump it as new majors
# land.
pluginSinceBuild = 261
pluginUntilBuild = 262.*
# IDE we build / verify against -- newest stable at scaffold time.
platformType = PS
platformVersion = 2026.1.2
# URL the build downloads the xphp LSP binary from at build time. The
# `downloadLspPhar` task fetches it and bundles it into the plugin jar at
# bin/xphp-lsp.phar (PharExtractor copies it into PhpStorm's system dir on
# first load). This is the single source of truth -- CI and releases read it
# straight from here; no env var or GitHub variable involved.
#
# REQUIRED: the build FAILS if this is unset or empty, by design -- a plugin
# jar must never ship without an embedded LSP. Uncomment and set it to the
# phar download URL (e.g. a GitHub release asset):
xphpLspPharUrl = https://github.com/xphp-lang/language-server/releases/download/v0.3.1/xphp-lsp.phar
# OPTIONAL: expected sha256 of the bytes at xphpLspPharUrl. When set, the
# downloadLspPhar task verifies the download against it (failing the build on
# mismatch) AND tracks it as a build input -- so if a release is RE-PUBLISHED
# at the same URL (same version, new bytes), bumping this value forces a
# re-download that the URL alone would not trigger. Update it whenever
# xphpLspPharUrl changes: `sha256sum build/lsp/xphp-lsp.phar` after a fetch.
xphpLspPharSha256 = 36f06bfbcd74a360bc8a7ca175d065d04c393789388bab2e79ec92097a636352
# Bundled IDE plugin we depend on so PhpStorm's PHP language plumbing is on
# the classpath at compile time and at runtime in the sandbox.
# com.jetbrains.php: PSI hooks for the PHP language family (file type
# discrimination, future XphpLanguage-as-PhpLanguage-dialect work).
platformBundledPlugins = com.jetbrains.php
# Toolchain. PhpStorm 2026.x runs on JBR 21; we follow.
javaVersion = 21
kotlinVersion = 2.3.21
# Gradle daemon hygiene -- keeps configure-time short across `gradle build`
# and `gradle test` invocations in the same shell.
#
# `org.gradle.parallel = false`: a known race in Gradle 9.0.0 + JDK 21 + the
# IntelliJ Platform Gradle Plugin 2.16.x triggers `ClosedFileSystemException`
# when multiple worker threads read entries from the same cached PhpStorm
# distribution zip concurrently (the platform plugin walks ~hundreds of
# `intellij.*.xml` plugin-descriptor entries during compileClasspath
# resolution, and one thread's `close()` races another's `read()`). Local
# builds usually slip through; CI's clean-cache 4-core runner hits the race
# almost every time. Disabling parallel is the documented workaround until
# the platform plugin pins a fix (tracked in the JetBrains issue tracker as
# IJSDK-2024). Caching stays on -- it's per-task and not part of the race.
org.gradle.parallel = false
org.gradle.caching = true
org.gradle.jvmargs = -Xmx2g -Dfile.encoding=UTF-8
kotlin.stdlib.default.dependency = false