@xcanwin/manyoyo 4.1.4 → 4.1.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,6 +4,7 @@
4
4
  FROM ubuntu:24.04 AS cache-stage
5
5
 
6
6
  ARG TARGETARCH
7
+ ARG TOOL="common"
7
8
 
8
9
  # 复制缓存目录(可能为空)
9
10
  COPY ./docker/cache/ /cache/
@@ -29,27 +30,31 @@ RUN <<EOX
29
30
  curl -fsSL ${NVM_NODEJS_ORG_MIRROR}/latest-v24.x/${NODE_TAR} | tar -xz -C /opt/node --strip-components=1 --exclude='*.md' --exclude='LICENSE'
30
31
  fi
31
32
 
32
- # JDT LSP: 检测缓存,不存在则下载
33
+ # JDT LSP: 仅在 full/java 时准备缓存
33
34
  mkdir -p /opt/jdtls
34
- if [ -f /cache/jdtls/jdt-language-server-latest.tar.gz ]; then
35
- echo "使用 JDT LSP 缓存"
36
- tar -xzf /cache/jdtls/jdt-language-server-latest.tar.gz -C /opt/jdtls --no-same-owner
37
- else
38
- echo "下载 JDT LSP"
39
- curl -fsSL https://download.eclipse.org/jdtls/snapshots/jdt-language-server-latest.tar.gz | tar -xz -C /opt/jdtls
40
- fi
35
+ case ",$TOOL," in *,full,*|*,java,*)
36
+ if [ -f /cache/jdtls/jdt-language-server-latest.tar.gz ]; then
37
+ echo "使用 JDT LSP 缓存"
38
+ tar -xzf /cache/jdtls/jdt-language-server-latest.tar.gz -C /opt/jdtls --no-same-owner
39
+ else
40
+ echo "下载 JDT LSP"
41
+ curl -fsSL https://download.eclipse.org/jdtls/snapshots/jdt-language-server-latest.tar.gz | tar -xz -C /opt/jdtls
42
+ fi
43
+ ;; esac
41
44
 
42
- # gopls: 检测缓存,不存在则下载
45
+ # gopls: 仅在 full/go 时准备缓存
43
46
  mkdir -p /opt/gopls
44
- if [ -f /cache/gopls/gopls-linux-${ARCH_GO} ]; then
45
- echo "使用 gopls 缓存"
46
- cp /cache/gopls/gopls-linux-${ARCH_GO} /opt/gopls/gopls
47
- chmod +x /opt/gopls/gopls
48
- else
49
- echo "下载 gopls (需要 go 环境)"
50
- # gopls 需要编译,这里跳过,在最终阶段处理
51
- touch /opt/gopls/.no-cache
52
- fi
47
+ case ",$TOOL," in *,full,*|*,go,*)
48
+ if [ -f /cache/gopls/gopls-linux-${ARCH_GO} ]; then
49
+ echo "使用 gopls 缓存"
50
+ cp /cache/gopls/gopls-linux-${ARCH_GO} /opt/gopls/gopls
51
+ chmod +x /opt/gopls/gopls
52
+ else
53
+ echo "下载 gopls (需要 go 环境)"
54
+ # gopls 需要编译,这里跳过,在最终阶段处理
55
+ touch /opt/gopls/.no-cache
56
+ fi
57
+ ;; esac
53
58
  EOX
54
59
 
55
60
  # ==============================================================================
@@ -68,6 +73,8 @@ ARG PIP_INDEX_URL=https://mirrors.tencent.com/pypi/simple
68
73
  # 轻量级文本解析依赖(可通过 --build-arg 覆盖)
69
74
  ARG PY_TEXT_PIP_PACKAGES="PyYAML python-dotenv tomlkit pyjson5 jsonschema"
70
75
  ARG PY_TEXT_EXTRA_PIP_PACKAGES=""
76
+ ENV LANG=C.UTF-8 \
77
+ LC_ALL=C.UTF-8
71
78
 
72
79
  # 合并系统依赖安装为单层,减少镜像体积
73
80
  RUN <<EOX
@@ -128,7 +135,6 @@ ARG GIT_SSL_NO_VERIFY=false
128
135
  RUN <<EOX
129
136
  # 配置 node.js
130
137
  npm config set registry=${NPM_REGISTRY}
131
- npm install -g npm
132
138
 
133
139
  # 安装 LSP服务(python、typescript)
134
140
  npm install -g pyright typescript-language-server typescript
@@ -151,8 +157,12 @@ EOF
151
157
  claude plugin install ralph-loop@claude-plugins-official
152
158
  claude plugin install typescript-lsp@claude-plugins-official
153
159
  claude plugin install pyright-lsp@claude-plugins-official
154
- claude plugin install gopls-lsp@claude-plugins-official
155
- claude plugin install jdtls-lsp@claude-plugins-official
160
+ case ",$TOOL," in *,full,*|*,go,*)
161
+ claude plugin install gopls-lsp@claude-plugins-official
162
+ ;; esac
163
+ case ",$TOOL," in *,full,*|*,java,*)
164
+ claude plugin install jdtls-lsp@claude-plugins-official
165
+ ;; esac
156
166
 
157
167
  GIT_SSL_NO_VERIFY=$GIT_SSL_NO_VERIFY claude plugin marketplace add https://github.com/anthropics/skills
158
168
  claude plugin install example-skills@anthropic-agent-skills
@@ -200,21 +210,6 @@ enabled = false
200
210
  EOF
201
211
  ;; esac
202
212
 
203
- # 安装 Copilot CLI
204
- case ",$TOOL," in *,full,*|*,copilot,*)
205
- npm install -g @github/copilot
206
- mkdir -p ~/.copilot/
207
- cat > ~/.copilot/config.json <<EOF
208
- {
209
- "banner": "never",
210
- "model": "gemini-3-pro-preview",
211
- "render_markdown": true,
212
- "screen_reader": false,
213
- "theme": "auto"
214
- }
215
- EOF
216
- ;; esac
217
-
218
213
  # 安装 OpenCode CLI
219
214
  case ",$TOOL," in *,full,*|*,opencode,*)
220
215
  npm install -g opencode-ai
@@ -251,7 +246,7 @@ EOF
251
246
  EOX
252
247
 
253
248
  # 从 cache-stage 复制 JDT LSP(缓存或下载)
254
- COPY --from=cache-stage /opt/jdtls /root/.local/share/jdtls
249
+ COPY --from=cache-stage /opt/jdtls /tmp/jdtls-cache
255
250
 
256
251
  RUN <<EOX
257
252
  # 安装 java
@@ -260,12 +255,15 @@ RUN <<EOX
260
255
  apt-get install -y --no-install-recommends openjdk-21-jdk maven
261
256
 
262
257
  # 配置 LSP服务(java)
258
+ mkdir -p ~/.local/share/
259
+ cp -a /tmp/jdtls-cache ~/.local/share/jdtls
263
260
  ln -sf ~/.local/share/jdtls/bin/jdtls /usr/local/bin/jdtls
264
261
 
265
262
  # 清理
266
263
  apt-get clean
267
264
  rm -rf /tmp/* /var/tmp/* /var/log/apt /var/log/*.log /var/lib/apt/lists/* ~/.cache ~/.npm ~/go/pkg/mod/cache
268
265
  ;; esac
266
+ rm -rf /tmp/jdtls-cache
269
267
  EOX
270
268
 
271
269
  # 从 cache-stage 复制 gopls(缓存或下载)
@@ -288,13 +286,12 @@ RUN <<EOX
288
286
  go install golang.org/x/tools/gopls@latest
289
287
  ln -sf ~/go/bin/gopls /usr/local/bin/gopls
290
288
  fi
291
- rm -rf /tmp/gopls-cache
292
-
293
289
  # 清理
294
290
  apt-get clean
295
291
  go clean -modcache -cache
296
292
  rm -rf /tmp/* /var/tmp/* /var/log/apt /var/log/*.log /var/lib/apt/lists/* ~/.cache ~/.npm ~/go/pkg/mod/cache
297
293
  ;; esac
294
+ rm -rf /tmp/gopls-cache
298
295
  EOX
299
296
 
300
297
  RUN <<EOX