• R/O
  • SSH
  • HTTPS

mergedoc: Commit


Commit MetaInfo

Revisión2694 (tree)
Tiempo2021-06-12 20:54:49
Autorcypher256

Log Message

(empty log message)

Cambiar Resumen

Diferencia incremental

--- trunk/Pleiades/src/main/java/jp/sourceforge/mergedoc/pleiades/PleiadesOption.java (revision 2693)
+++ trunk/Pleiades/src/main/java/jp/sourceforge/mergedoc/pleiades/PleiadesOption.java (revision 2694)
@@ -20,7 +20,7 @@
2020 public class PleiadesOption {
2121
2222 /** Eclipse の -clean (起動時に -clean が指定されている場合は true) */
23- public boolean isClean;
23+ public volatile boolean isClean;
2424
2525 /** ニーモニック非表示 (表示しない場合は true) */
2626 public final boolean isNoMnemonic;
--- trunk/Pleiades/src/main/java/jp/sourceforge/mergedoc/pleiades/runtime/AbstractTransformer.java (revision 2693)
+++ trunk/Pleiades/src/main/java/jp/sourceforge/mergedoc/pleiades/runtime/AbstractTransformer.java (revision 2694)
@@ -80,10 +80,15 @@
8080 throws IllegalClassFormatException {
8181
8282 try {
83- // バイトコード変換しないパッケージ
84- if (
83+ // バイトコード変換しないパッケージは null を返す
84+ if (vmClassName == null) {
8585 // null の場合がある
86- vmClassName == null ||
86+ return null;
87+ }
88+ if (vmClassName.startsWith("org/eclipse/")) {
89+ // eclipse パッケージは対象 (高速化のために先に判定)
90+ }
91+ else if (
8792 // java. 除外 (awt や javax.swing などは除外しない)
8893 (vmClassName.startsWith("java/") && !vmClassName.startsWith("java/awt/")) ||
8994 // JavaScript Nashorn
@@ -94,7 +99,8 @@
9499 vmClassName.startsWith("org/xml/sax/") ||
95100 vmClassName.startsWith("javax/xml/") ||
96101 // Apache Commons (Shadow Jar)
97- vmClassName.startsWith("jp/sourceforge/mergedoc/org/apache/commons/")
102+ vmClassName.startsWith("jp/sourceforge/mergedoc/org/apache/commons/") ||
103+ vmClassName.startsWith("jp/sourceforge/mergedoc/javassist/")
98104 ) {
99105 return null;
100106 }
@@ -155,7 +161,7 @@
155161
156162 } catch (Throwable e) {
157163
158- String msg = "バイトコード変換事前処理に失敗しました。" + vmClassName;
164+ String msg = "プラグインのロケーション取得に失敗しました。" + vmClassName;
159165 log.error(e, msg);
160166 throw new IllegalClassFormatException(msg + " 原因:" + e);
161167 }
--- trunk/Pleiades/src/main/java/jp/sourceforge/mergedoc/pleiades/runtime/LauncherEclipseTransformer.java (revision 2693)
+++ trunk/Pleiades/src/main/java/jp/sourceforge/mergedoc/pleiades/runtime/LauncherEclipseTransformer.java (revision 2694)
@@ -258,14 +258,14 @@
258258 // 以下、Eclipse に埋め込んだ AOP により呼び出される public static メソッド
259259
260260 /**
261- * 翻訳トランスフォーマーを開始します。
262- * @param args Eclipse 起動オプション配列
263- * @return 起動オプション配列
261+ * AOP により、main メソッド開始前に呼び出される、翻訳トランスフォーマーの開始処理です。
262+ * @param mainArgs main メソッド呼び出し前の main 引数
263+ * @return main に渡す引数
264264 */
265- public static String[] start(String... args) {
265+ public static String[] start(String... mainArgs) {
266266
267267 // 翻訳トランスフォーマーの開始
268- String[] newArgs = LauncherTransformer.startTranslationTransformer(args);
268+ String[] newArgs = LauncherTransformer.startTranslationTransformer(mainArgs);
269269 return newArgs;
270270 }
271271
--- trunk/Pleiades/src/main/java/jp/sourceforge/mergedoc/pleiades/runtime/LauncherTransformer.java (revision 2693)
+++ trunk/Pleiades/src/main/java/jp/sourceforge/mergedoc/pleiades/runtime/LauncherTransformer.java (revision 2694)
@@ -189,14 +189,11 @@
189189 }
190190
191191 /**
192- * 翻訳トランスフォーマーを開始します。
192+ * main メソッドの前に呼び出され、翻訳トランスフォーマーを開始します。
193193 * @param mainArgs main メソッド呼び出し前の main 引数
194194 * @return main に渡す引数
195195 */
196196 protected static String[] startTranslationTransformer(String... mainArgs) {
197-
198- // 非同期実行キュー終了待ち (プラグイン更新があれば isClean に true が設定される)
199- AsyncQueue.awaitTermination();
200197
201198 long start = System.nanoTime();
202199
@@ -210,9 +207,11 @@
210207 option.isClean = isIncludeArgsClean;
211208 }
212209
210+ // 非同期実行キュー終了待ち (isUpdated などによる isClean=true 設定待ち)
211+ AsyncQueue.awaitTermination();
212+
213213 // キャッシュが無い場合は強制的に -clean を指定
214214 if (!option.isClean) {
215-
216215 File excludeList = Filez.temp(CacheFilez.EXCLUDE_CLASS_LIST);
217216 if (!excludeList.exists()) {
218217 log.info("変換除外クラス名キャッシュが存在しないため、強制的に -clean モードで起動します。");
@@ -286,17 +285,17 @@
286285 // 埋め込んだ AOP により呼び出される public static メソッド
287286
288287 /**
289- * 翻訳トランスフォーマーを開始します。
290- * @param args Eclipse 起動オプション配列
291- * @return 起動オプション配列
288+ * AOP により、main メソッド開始前に呼び出される、翻訳トランスフォーマーの開始処理です。
289+ * @param mainArgs main メソッド呼び出し前の main 引数
290+ * @return main に渡す引数
292291 */
293- public static String[] start(String... args) {
292+ public static String[] start(String... mainArgs) {
294293
295294 // 翻訳トランスフォーマーの開始
296- startTranslationTransformer(args);
295+ startTranslationTransformer(mainArgs);
297296
298297 // 引数に -clean がある場合は削除 (IDEA などは起動できなくなるため)
299- String[] newArgs = ArrayUtils.removeElement(args, CLEAN_OPTION_STRING);
298+ String[] newArgs = ArrayUtils.removeElement(mainArgs, CLEAN_OPTION_STRING);
300299 return newArgs;
301300 }
302301
Show on old repository browser