Иконка ресурса

Вырезалка 2

1,064
47
386
так еще все таки сделал релиз версии 2.0.1 в мавен централ.
Кому не нужны все новые фичи и кому в целом по кайфу не дописывать репо в build.gradle могут юзать вырезалку отсюда.
Думаю для версии 2.1.0 фич тоже достаточно можно дальше топать.
 
6,119
226
1,177
Добавь в эвристику поддержку FMLCommonHandler.instance().getEffectiveSide() и FMLLaunchHandler.side()
 
1,064
47
386
Тут ажно 2 проблемы.
Во-первых вырезалка работает со всеми версиями майнкрафта, а как следствие я должен быть уверен, что FMLCommonHandler существует на всех версиях и имеет одно и то же полное имя. Я в этом не уверен.
Во-вторых я советую все же прочитать доки в репо. Там описано, что эвристика может опираться на прямой вызов метод или прямой вызов поля. Т.е. я могу добавить Side#isServer но вот с FMLCommonHandler.instance().getEffectiveSide(). Но в целом эта проблема легко решается добавлением SideUtil в дефолтную либу вырезалки.

В общем просто нужно как то продумать совместимость со всеми версиями майнкрафта.
 

tox1cozZ

aka Agravaine
Модератор
7,536
486
2,348
Я тут решил закрепить эту годноту в сливах, чтобы весела вверху всегда, реально годная вещь.
Раздела для таких релизов у нас нет, поэтому перенести некуда, это ведь не "готовые моды"...
Так вот, надо нормальное название темы сделать тогда.
@JustAGod предлагай, а то я не знаю как назвать красиво и понятно.
 
1,064
47
386
Зачем менять название темы...
Я думаю стоит добавить описание, но зачем менять название. Оно вроде интуитивней некуда.
 
1,064
47
386
Описание добавил. Немного изменил название👀
С иконкой чот у меня проблемы. Абсолютно хз чо пихнуть можно. Но я придумаю чо нить потом, да👀
 
1,195
28
279
Внезапно сегодня сломался билд. Использую хуклибу от фолкена. Ошибочка
Exception while rewriting node gloomyfolken.hooklib.asm.AsmHook$Builder after 125
Почему пишу сюда? потому-что если делать обычный билд(не используя вырезалку) - всё ОК

Gradle (Groovy):
> Task :buildClient FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':buildClient'.
[QUOTE] Exception while processing gloomyfolken/hooklib/asm/AsmHook$Builder.class[/QUOTE]

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':buildClient'.
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:110)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
    at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:59)
    at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:59)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:101)
    at org.gradle.api.internal.tasks.execution.FinalizeInputFilePropertiesTaskExecuter.execute(FinalizeInputFilePropertiesTaskExecuter.java:44)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:91)
    at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:62)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:59)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
    at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.run(EventFiringTaskExecuter.java:51)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:46)
    at org.gradle.execution.taskgraph.LocalTaskInfoExecutor.execute(LocalTaskInfoExecutor.java:42)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:277)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareWorkItemExecutor.execute(DefaultTaskExecutionGraph.java:262)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:135)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:130)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.execute(DefaultTaskPlanExecutor.java:200)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.executeWithWork(DefaultTaskPlanExecutor.java:191)
    at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$ExecutorWorker.run(DefaultTaskPlanExecutor.java:130)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
Caused by: java.lang.RuntimeException: Exception while processing gloomyfolken/hooklib/asm/AsmHook$Builder.class
    at ru.justagod.mincer.pipeline.ChainHeadQueue.process(ChainHeadQueue.kt:47)
    at ru.justagod.mincer.Mincer.advance(Mincer.kt:45)
    at ru.justagod.mincer.util.MincerUtils.processArchive(MincerUtils.kt:56)
    at ru.justagod.plugin.gradle.CutterTask.processArchive(CutterTask.kt:33)
    at ru.justagod.plugin.gradle.CutterTask.process(CutterTask.kt:28)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:46)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:801)
    at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:768)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:131)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:120)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:99)
    ... 31 more
Caused by: java.lang.RuntimeException: Exception while rewriting node gloomyfolken.hooklib.asm.AsmHook$Builder after 17
    at ru.justagod.mincer.pipeline.ChainHeadQueue.doProcess(ChainHeadQueue.kt:92)
    at ru.justagod.mincer.pipeline.ChainHeadQueue.process(ChainHeadQueue.kt:44)
    ... 49 more
Caused by: java.lang.NullPointerException
    at org.objectweb.asm.Frame.merge(Frame.java:1396)
    at org.objectweb.asm.MethodWriter.visitMaxs(MethodWriter.java:1497)
    at org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:835)
    at org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:727)
    at org.objectweb.asm.tree.ClassNode.accept(ClassNode.java:452)
    at ru.justagod.mincer.pipeline.ChainHeadQueue.doProcess(ChainHeadQueue.kt:90)
    ... 50 more
 
Последнее редактирование:
1,064
47
386
Так ну что то явно пошло не так
Я сделал так чтоб без включенной эвристики все точно работало. С остальным разбираюсь.
 
1,195
28
279
без включенной эвристики все точно работало
я игрался с параметрами - не помогло. но самое обидное, предыдущий коммит был нормальным(CI его смог собрать). А тут фиг.
Локально откатился на тот коммит, попробовал собрать - ошибочка.
 
1,064
47
386
Я определенно точно уверен что хуклиба прекрасно обрабатывается вырезалкой если выключить эвристику. Можно попробовать херакнуть --refresh-dependencies.
Над фиксом работаю прямо сейчас но все же.
И я не понял. Зачем CI собирает вырезалку?
 

tox1cozZ

aka Agravaine
Модератор
7,536
486
2,348
Как мне вызвать таск после buildClient или buildServer?
Нужно вызывать таск ProGuard, после build все работает, после buildClient - нет:
1588779889310.png
1588779934570.png
 
1,064
47
386
ну таски добавляются во время конфигурации вырезалки. соответственно добавлять зависимости таскам вырезалки нужно после ее конфигурации.
 

tox1cozZ

aka Agravaine
Модератор
7,536
486
2,348
Понял))
А по поводу эвристик: написано искать тутор по добавлению своих в репе, но чот я слепой походу и не нашел ничего
 

tox1cozZ

aka Agravaine
Модератор
7,536
486
2,348
Как сказать вырезалке чтобы она юзала последнюю версию ASM? На 14 джаве ломается ClassReader:
1588965565990.png
 
6,119
226
1,177
Для майнкрафта ведь рекомендованная версия java 8
 
Сверху