From 073a8abdf29a70d0bde5056f7a6ddc29b6956c34 Mon Sep 17 00:00:00 2001 From: Zoey76 <zoey_76@msn.com> Date: Sun, 9 Sep 2018 16:11:02 -0300 Subject: [PATCH] Support Java 10 --- .settings/org.eclipse.buildship.core.prefs | 11 +- .settings/org.eclipse.jdt.core.prefs | 6 +- bitbucket-pipelines.yml | 2 +- build.gradle | 11 +- .../data/scripts/gracia/GraciaLoader.java | 2 +- .../scripts/handlers/EffectMasterHandler.java | 16 +- .../data/scripts/handlers/MasterHandler.java | 679 +++++++++--------- .../admincommandhandlers/AdminCHSiege.java | 2 +- .../admincommandhandlers/AdminQuest.java | 26 +- .../admincommandhandlers/AdminReload.java | 32 +- .../telnethandlers/ReloadHandler.java | 13 +- .../usercommandhandlers/ChannelDelete.java | 7 +- .../voicedcommandhandlers/StatsVCmd.java | 11 +- .../scripts/hellbound/HellboundLoader.java | 19 +- .../scripts/instances/InstanceLoader.java | 2 +- .../scripts/quests/QuestMasterHandler.java | 2 +- gradle/wrapper/gradle-wrapper.jar | Bin 54783 -> 54413 bytes gradle/wrapper/gradle-wrapper.properties | 10 +- gradlew | 6 +- 19 files changed, 397 insertions(+), 460 deletions(-) diff --git a/.settings/org.eclipse.buildship.core.prefs b/.settings/org.eclipse.buildship.core.prefs index d3def49054..f03fcbd9fc 100644 --- a/.settings/org.eclipse.buildship.core.prefs +++ b/.settings/org.eclipse.buildship.core.prefs @@ -1,11 +1,10 @@ -#Fri Oct 27 16:04:33 UYT 2017 +build.commands=org.eclipse.jdt.core.javabuilder connection.arguments= -containers=org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/ +connection.java.home=null connection.jvm.arguments= -build.commands=org.eclipse.jdt.core.javabuilder connection.project.dir= -natures=org.eclipse.jdt.core.javanature -eclipse.preferences.version=1 -connection.java.home=null +containers=org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8/ derived.resources=.gradle,build +eclipse.preferences.version=1 +natures=org.eclipse.jdt.core.javanature project.path=\: diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs index 43f72e784f..e504933df8 100644 --- a/.settings/org.eclipse.jdt.core.prefs +++ b/.settings/org.eclipse.jdt.core.prefs @@ -20,9 +20,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary= org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=10 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.compliance=10 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate @@ -127,7 +127,7 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.compiler.source=10 org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0 diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml index 3735228396..6ec462bfe8 100644 --- a/bitbucket-pipelines.yml +++ b/bitbucket-pipelines.yml @@ -1,4 +1,4 @@ -image: java:8 +image: openjdk:10.0.2-13-jre-sid pipelines: default: diff --git a/build.gradle b/build.gradle index 8b3a594781..de7f966f8a 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,8 @@ apply plugin: 'eclipse' defaultTasks('zip') -sourceCompatibility = JavaVersion.VERSION_1_8 +sourceCompatibility = JavaVersion.VERSION_1_10 +targetCompatibility = JavaVersion.VERSION_1_10 sourceSets { mainSource { @@ -25,8 +26,8 @@ dependencies { compile 'org.slf4j:slf4j-api:1.7.25' compile files('../L2J_Server/dist/libs/mmocore.jar') compile project(':L2J_Server') - testCompile 'org.testng:testng:6.11' - testCompile 'org.jmockit:jmockit:1.35' + testCompile 'org.testng:testng:6.14.3' + testCompile 'org.mockito:mockito-core:2.20.1' } task zip(type: Zip) { @@ -38,10 +39,6 @@ task zip(type: Zip) { build.finalizedBy(zip) -task wrapper(type: Wrapper) { - gradleVersion = '3.5' -} - eclipse { project { name = 'L2J_DataPack' diff --git a/dist/game/data/scripts/gracia/GraciaLoader.java b/dist/game/data/scripts/gracia/GraciaLoader.java index 208e488fee..dce8a2ff5e 100644 --- a/dist/game/data/scripts/gracia/GraciaLoader.java +++ b/dist/game/data/scripts/gracia/GraciaLoader.java @@ -86,7 +86,7 @@ public final class GraciaLoader { try { - script.newInstance(); + script.getDeclaredConstructor().newInstance(); } catch (Exception e) { diff --git a/dist/game/data/scripts/handlers/EffectMasterHandler.java b/dist/game/data/scripts/handlers/EffectMasterHandler.java index 850a344bae..f28c566aed 100644 --- a/dist/game/data/scripts/handlers/EffectMasterHandler.java +++ b/dist/game/data/scripts/handlers/EffectMasterHandler.java @@ -18,7 +18,6 @@ */ package handlers; -import java.util.logging.Level; import java.util.logging.Logger; import com.l2jserver.gameserver.handler.EffectHandler; @@ -362,21 +361,8 @@ public final class EffectMasterHandler { for (Class<?> c : EFFECTS) { - if (c == null) - { - continue; // Disabled handler - } EffectHandler.getInstance().registerHandler((Class<? extends AbstractEffect>) c); } - - // And lets try get size - try - { - _log.log(Level.INFO, EffectMasterHandler.class.getSimpleName() + ": Loaded " + EffectHandler.getInstance().size() + " effect handlers."); - } - catch (Exception e) - { - _log.log(Level.WARNING, "Failed invoking size method for handler: " + EffectMasterHandler.class.getSimpleName(), e); - } + _log.info(EffectMasterHandler.class.getSimpleName() + ": Loaded " + EffectHandler.getInstance().size() + " effect handlers."); } } diff --git a/dist/game/data/scripts/handlers/MasterHandler.java b/dist/game/data/scripts/handlers/MasterHandler.java index ec5cab5203..bd0287e04b 100644 --- a/dist/game/data/scripts/handlers/MasterHandler.java +++ b/dist/game/data/scripts/handlers/MasterHandler.java @@ -18,12 +18,8 @@ */ package handlers; -import java.lang.reflect.Method; -import java.util.HashMap; -import java.util.Map; -import java.util.Map.Entry; -import java.util.logging.Level; -import java.util.logging.Logger; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.l2jserver.Config; import com.l2jserver.gameserver.handler.ActionHandler; @@ -180,7 +176,6 @@ import handlers.communityboard.HomepageBoard; import handlers.communityboard.MailBoard; import handlers.communityboard.MemoBoard; import handlers.communityboard.RegionBoard; -import handlers.custom.CustomAnnouncePkPvP; import handlers.itemhandlers.BeastSoulShot; import handlers.itemhandlers.BeastSpiritShot; import handlers.itemhandlers.BlessedSpiritShot; @@ -286,370 +281,346 @@ import handlers.voicedcommandhandlers.Wedding; /** * Master handler. * @author UnAfraid + * @author Zoey76 */ public class MasterHandler { - private static final Logger _log = Logger.getLogger(MasterHandler.class.getName()); + private static final Logger LOG = LoggerFactory.getLogger(MasterHandler.class); - private static final IHandler<?, ?>[] LOAD_INSTANCES = + private static final Class<?>[] ACTION_HANDLERS = { - ActionHandler.getInstance(), - ActionShiftHandler.getInstance(), - AdminCommandHandler.getInstance(), - BypassHandler.getInstance(), - ChatHandler.getInstance(), - CommunityBoardHandler.getInstance(), - ItemHandler.getInstance(), - PunishmentHandler.getInstance(), - UserCommandHandler.getInstance(), - VoicedCommandHandler.getInstance(), - TargetHandler.getInstance(), - TelnetHandler.getInstance(), + L2ArtefactInstanceAction.class, + L2DecoyAction.class, + L2DoorInstanceAction.class, + L2ItemInstanceAction.class, + L2NpcAction.class, + L2PcInstanceAction.class, + L2PetInstanceAction.class, + L2StaticObjectInstanceAction.class, + L2SummonAction.class, + L2TrapAction.class, }; - private static final Class<?>[][] HANDLERS = + private static final Class<?>[] ACTION_SHIFT_HANDLERS = { - { - // Action Handlers - L2ArtefactInstanceAction.class, - L2DecoyAction.class, - L2DoorInstanceAction.class, - L2ItemInstanceAction.class, - L2NpcAction.class, - L2PcInstanceAction.class, - L2PetInstanceAction.class, - L2StaticObjectInstanceAction.class, - L2SummonAction.class, - L2TrapAction.class, - }, - { - // Action Shift Handlers - L2DoorInstanceActionShift.class, - L2ItemInstanceActionShift.class, - L2NpcActionShift.class, - L2PcInstanceActionShift.class, - L2StaticObjectInstanceActionShift.class, - L2SummonActionShift.class, - }, - { - // Admin Command Handlers - AdminAdmin.class, - AdminAnnouncements.class, - AdminBBS.class, - AdminBuffs.class, - AdminCamera.class, - AdminChangeAccessLevel.class, - AdminCHSiege.class, - AdminClan.class, - AdminPcCondOverride.class, - AdminCreateItem.class, - AdminCursedWeapons.class, - AdminDebug.class, - AdminDelete.class, - AdminDisconnect.class, - AdminDoorControl.class, - AdminEditChar.class, - AdminEffects.class, - AdminElement.class, - AdminEnchant.class, - AdminEventEngine.class, - AdminEvents.class, - AdminExpSp.class, - AdminFightCalculator.class, - AdminFortSiege.class, - AdminGeodata.class, - AdminGm.class, - AdminGmChat.class, - AdminGraciaSeeds.class, - AdminGrandBoss.class, - AdminHeal.class, - AdminHtml.class, - AdminInstance.class, - AdminInstanceZone.class, - AdminInvul.class, - AdminKick.class, - AdminKill.class, - AdminLevel.class, - AdminLogin.class, - AdminMammon.class, - AdminManor.class, - AdminMenu.class, - AdminMessages.class, - AdminMobGroup.class, - AdminMonsterRace.class, - AdminPathNode.class, - AdminPetition.class, - AdminPForge.class, - AdminPledge.class, - AdminPolymorph.class, - AdminPunishment.class, - AdminQuest.class, - AdminReload.class, - AdminRepairChar.class, - AdminRes.class, - AdminRide.class, - AdminScan.class, - AdminShop.class, - AdminShowQuests.class, - AdminShutdown.class, - AdminSiege.class, - AdminSkill.class, - AdminSpawn.class, - AdminSummon.class, - AdminTarget.class, - AdminTargetSay.class, - AdminTeleport.class, - AdminTerritoryWar.class, - AdminTest.class, - AdminTvTEvent.class, - AdminUnblockIp.class, - AdminVitality.class, - AdminZone.class, - }, - { - // Bypass Handlers - Augment.class, - Buy.class, - BuyShadowItem.class, - ChatLink.class, - ClanWarehouse.class, - EventEngine.class, - Festival.class, - Freight.class, - ItemAuctionLink.class, - Link.class, - Loto.class, - Multisell.class, - NpcViewMod.class, - Observation.class, - OlympiadObservation.class, - OlympiadManagerLink.class, - QuestLink.class, - PlayerHelp.class, - PrivateWarehouse.class, - QuestList.class, - ReceivePremium.class, - ReleaseAttribute.class, - RentPet.class, - Rift.class, - SkillList.class, - SupportBlessing.class, - SupportMagic.class, - TerritoryStatus.class, - TutorialClose.class, - VoiceCommand.class, - Wear.class, - }, - { - // Chat Handlers - ChatAll.class, - ChatAlliance.class, - ChatBattlefield.class, - ChatClan.class, - ChatHeroVoice.class, - ChatParty.class, - ChatPartyMatchRoom.class, - ChatPartyRoomAll.class, - ChatPartyRoomCommander.class, - ChatPetition.class, - ChatShout.class, - ChatTell.class, - ChatTrade.class, - }, - { - // Community Board - ClanBoard.class, - FavoriteBoard.class, - FriendsBoard.class, - HomeBoard.class, - HomepageBoard.class, - MailBoard.class, - MemoBoard.class, - RegionBoard.class, - }, - { - // Item Handlers - BeastSoulShot.class, - BeastSpiritShot.class, - BlessedSpiritShot.class, - Book.class, - Bypass.class, - Calculator.class, - CharmOfCourage.class, - Disguise.class, - Elixir.class, - EnchantAttribute.class, - EnchantScrolls.class, - EventItem.class, - ExtractableItems.class, - FishShots.class, - Harvester.class, - ItemSkills.class, - ItemSkillsTemplate.class, - ManaPotion.class, - Maps.class, - MercTicket.class, - NicknameColor.class, - PetFood.class, - Recipes.class, - RollingDice.class, - Seed.class, - SevenSignsRecord.class, - SoulShots.class, - SpecialXMas.class, - SpiritShot.class, - SummonItems.class, - TeleportBookmark.class, - }, - { - // Punishment Handlers - BanHandler.class, - ChatBanHandler.class, - JailHandler.class, - }, - { - // User Command Handlers - ClanPenalty.class, - ClanWarsList.class, - Dismount.class, - Unstuck.class, - InstanceZone.class, - Loc.class, - Mount.class, - PartyInfo.class, - Time.class, - OlympiadStat.class, - ChannelLeave.class, - ChannelDelete.class, - ChannelInfo.class, - MyBirthday.class, - SiegeStatus.class, - }, - { - // Voiced Command Handlers - StatsVCmd.class, - // TODO: Add configuration options for this voiced commands: - // CastleVCmd.class, - // SetVCmd.class, - (Config.L2JMOD_ALLOW_WEDDING ? Wedding.class : null), - (Config.BANKING_SYSTEM_ENABLED ? Banking.class : null), - (Config.L2JMOD_CHAT_ADMIN ? ChatAdmin.class : null), - (Config.L2JMOD_MULTILANG_ENABLE && Config.L2JMOD_MULTILANG_VOICED_ALLOW ? Lang.class : null), - (Config.L2JMOD_DEBUG_VOICE_COMMAND ? Debug.class : null), - (Config.L2JMOD_ALLOW_CHANGE_PASSWORD ? ChangePassword.class : null), - }, - { - // Target Handlers - Area.class, - AreaCorpseMob.class, - AreaFriendly.class, - AreaSummon.class, - Aura.class, - AuraCorpseMob.class, - AuraFriendly.class, - AuraUndeadEnemy.class, - BehindArea.class, - BehindAura.class, - Clan.class, - ClanMember.class, - CommandChannel.class, - CorpseClan.class, - CorpseMob.class, - Enemy.class, - EnemyOnly.class, - EnemySummon.class, - FlagPole.class, - FrontArea.class, - FrontAura.class, - Ground.class, - Holy.class, - One.class, - OwnerPet.class, - Party.class, - PartyClan.class, - PartyMember.class, - PartyNotMe.class, - PartyOther.class, - PcBody.class, - Pet.class, - Self.class, - Servitor.class, - Summon.class, - TargetParty.class, - Unlockable.class, - }, - { - // Telnet Handlers - ChatsHandler.class, - DebugHandler.class, - HelpHandler.class, - PlayerHandler.class, - ReloadHandler.class, - ServerHandler.class, - StatusHandler.class, - ThreadHandler.class, - }, - { - // Custom Handlers - CustomAnnouncePkPvP.class - } + L2DoorInstanceActionShift.class, + L2ItemInstanceActionShift.class, + L2NpcActionShift.class, + L2PcInstanceActionShift.class, + L2StaticObjectInstanceActionShift.class, + L2SummonActionShift.class, }; + private static final Class<?>[] ADMIN_HANDLERS = + { + AdminAdmin.class, + AdminAnnouncements.class, + AdminBBS.class, + AdminBuffs.class, + AdminCamera.class, + AdminChangeAccessLevel.class, + AdminCHSiege.class, + AdminClan.class, + AdminPcCondOverride.class, + AdminCreateItem.class, + AdminCursedWeapons.class, + AdminDebug.class, + AdminDelete.class, + AdminDisconnect.class, + AdminDoorControl.class, + AdminEditChar.class, + AdminEffects.class, + AdminElement.class, + AdminEnchant.class, + AdminEventEngine.class, + AdminEvents.class, + AdminExpSp.class, + AdminFightCalculator.class, + AdminFortSiege.class, + AdminGeodata.class, + AdminGm.class, + AdminGmChat.class, + AdminGraciaSeeds.class, + AdminGrandBoss.class, + AdminHeal.class, + AdminHtml.class, + AdminInstance.class, + AdminInstanceZone.class, + AdminInvul.class, + AdminKick.class, + AdminKill.class, + AdminLevel.class, + AdminLogin.class, + AdminMammon.class, + AdminManor.class, + AdminMenu.class, + AdminMessages.class, + AdminMobGroup.class, + AdminMonsterRace.class, + AdminPathNode.class, + AdminPetition.class, + AdminPForge.class, + AdminPledge.class, + AdminPolymorph.class, + AdminPunishment.class, + AdminQuest.class, + AdminReload.class, + AdminRepairChar.class, + AdminRes.class, + AdminRide.class, + AdminScan.class, + AdminShop.class, + AdminShowQuests.class, + AdminShutdown.class, + AdminSiege.class, + AdminSkill.class, + AdminSpawn.class, + AdminSummon.class, + AdminTarget.class, + AdminTargetSay.class, + AdminTeleport.class, + AdminTerritoryWar.class, + AdminTest.class, + AdminTvTEvent.class, + AdminUnblockIp.class, + AdminVitality.class, + AdminZone.class, + }; + + private static final Class<?>[] BYPASS_HANDLERS = + { + Augment.class, + Buy.class, + BuyShadowItem.class, + ChatLink.class, + ClanWarehouse.class, + EventEngine.class, + Festival.class, + Freight.class, + ItemAuctionLink.class, + Link.class, + Loto.class, + Multisell.class, + NpcViewMod.class, + Observation.class, + OlympiadObservation.class, + OlympiadManagerLink.class, + QuestLink.class, + PlayerHelp.class, + PrivateWarehouse.class, + QuestList.class, + ReceivePremium.class, + ReleaseAttribute.class, + RentPet.class, + Rift.class, + SkillList.class, + SupportBlessing.class, + SupportMagic.class, + TerritoryStatus.class, + TutorialClose.class, + VoiceCommand.class, + Wear.class, + }; + + private static final Class<?>[] CHAT_HANDLERS = + { + ChatAll.class, + ChatAlliance.class, + ChatBattlefield.class, + ChatClan.class, + ChatHeroVoice.class, + ChatParty.class, + ChatPartyMatchRoom.class, + ChatPartyRoomAll.class, + ChatPartyRoomCommander.class, + ChatPetition.class, + ChatShout.class, + ChatTell.class, + ChatTrade.class, + }; + + private static final Class<?>[] COMMUNITY_HANDLERS = + { + ClanBoard.class, + FavoriteBoard.class, + FriendsBoard.class, + HomeBoard.class, + HomepageBoard.class, + MailBoard.class, + MemoBoard.class, + RegionBoard.class, + }; + + private static final Class<?>[] ITEM_HANDLERS = + { + BeastSoulShot.class, + BeastSpiritShot.class, + BlessedSpiritShot.class, + Book.class, + Bypass.class, + Calculator.class, + CharmOfCourage.class, + Disguise.class, + Elixir.class, + EnchantAttribute.class, + EnchantScrolls.class, + EventItem.class, + ExtractableItems.class, + FishShots.class, + Harvester.class, + ItemSkillsTemplate.class, + ItemSkills.class, + ManaPotion.class, + Maps.class, + MercTicket.class, + NicknameColor.class, + PetFood.class, + Recipes.class, + RollingDice.class, + Seed.class, + SevenSignsRecord.class, + SoulShots.class, + SpecialXMas.class, + SpiritShot.class, + SummonItems.class, + TeleportBookmark.class, + }; + + private static final Class<?>[] PUNISHMENT_HANDLERS = + { + BanHandler.class, + ChatBanHandler.class, + JailHandler.class, + }; + + private static final Class<?>[] USER_COMMAND_HANDLERS = + { + ClanPenalty.class, + ClanWarsList.class, + Dismount.class, + Unstuck.class, + InstanceZone.class, + Loc.class, + Mount.class, + PartyInfo.class, + Time.class, + OlympiadStat.class, + ChannelLeave.class, + ChannelDelete.class, + ChannelInfo.class, + MyBirthday.class, + SiegeStatus.class, + }; + + private static final Class<?>[] TARGET_HANDLERS = + { + Area.class, + AreaCorpseMob.class, + AreaFriendly.class, + AreaSummon.class, + Aura.class, + AuraCorpseMob.class, + AuraFriendly.class, + AuraUndeadEnemy.class, + BehindArea.class, + BehindAura.class, + Clan.class, + ClanMember.class, + CommandChannel.class, + CorpseClan.class, + CorpseMob.class, + Enemy.class, + EnemyOnly.class, + EnemySummon.class, + FlagPole.class, + FrontArea.class, + FrontAura.class, + Ground.class, + Holy.class, + One.class, + OwnerPet.class, + Party.class, + PartyClan.class, + PartyMember.class, + PartyNotMe.class, + PartyOther.class, + PcBody.class, + Pet.class, + Self.class, + Servitor.class, + Summon.class, + TargetParty.class, + Unlockable.class, + }; + + private static final Class<?>[] TELNET_HANDLERS = + { + ChatsHandler.class, + DebugHandler.class, + HelpHandler.class, + PlayerHandler.class, + ReloadHandler.class, + ServerHandler.class, + StatusHandler.class, + ThreadHandler.class, + }; + + private static final Class<?>[] VOICED_COMMAND_HANDLERS = + { + StatsVCmd.class, + // TODO: Add configuration options for this voiced commands: + // CastleVCmd.class, + // SetVCmd.class, + (Config.L2JMOD_ALLOW_WEDDING ? Wedding.class : null), + (Config.BANKING_SYSTEM_ENABLED ? Banking.class : null), + (Config.L2JMOD_CHAT_ADMIN ? ChatAdmin.class : null), + (Config.L2JMOD_MULTILANG_ENABLE && Config.L2JMOD_MULTILANG_VOICED_ALLOW ? Lang.class : null), + (Config.L2JMOD_DEBUG_VOICE_COMMAND ? Debug.class : null), + (Config.L2JMOD_ALLOW_CHANGE_PASSWORD ? ChangePassword.class : null), + }; + + // TODO(Zoey76): Add this handler. + // private static final Class<?>[] CUSTOM_HANDLERS = + // { + // CustomAnnouncePkPvP.class + // }; + public static void main(String[] args) { - _log.log(Level.INFO, "Loading Handlers..."); - - Map<IHandler<?, ?>, Method> registerHandlerMethods = new HashMap<>(); - for (IHandler<?, ?> loadInstance : LOAD_INSTANCES) + LOG.info("Loading Handlers..."); + loadHandlers(VoicedCommandHandler.getInstance(), VOICED_COMMAND_HANDLERS); + loadHandlers(ActionHandler.getInstance(), ACTION_HANDLERS); + loadHandlers(ActionShiftHandler.getInstance(), ACTION_SHIFT_HANDLERS); + loadHandlers(AdminCommandHandler.getInstance(), ADMIN_HANDLERS); + loadHandlers(BypassHandler.getInstance(), BYPASS_HANDLERS); + loadHandlers(ChatHandler.getInstance(), CHAT_HANDLERS); + loadHandlers(CommunityBoardHandler.getInstance(), COMMUNITY_HANDLERS); + loadHandlers(ItemHandler.getInstance(), ITEM_HANDLERS); + loadHandlers(PunishmentHandler.getInstance(), PUNISHMENT_HANDLERS); + loadHandlers(UserCommandHandler.getInstance(), USER_COMMAND_HANDLERS); + loadHandlers(TargetHandler.getInstance(), TARGET_HANDLERS); + loadHandlers(TelnetHandler.getInstance(), TELNET_HANDLERS); + LOG.info("Handlers Loaded..."); + } + + private static void loadHandlers(IHandler<?, ?> handler, Class<?>[] classes) + { + for (Class<?> c : classes) { - registerHandlerMethods.put(loadInstance, null); - for (Method method : loadInstance.getClass().getMethods()) + if (c == null) { - if (method.getName().equals("registerHandler") && !method.isBridge()) - { - registerHandlerMethods.put(loadInstance, method); - } + continue; } - } - - registerHandlerMethods.entrySet().stream().filter(e -> e.getValue() == null).forEach(e -> - { - _log.log(Level.WARNING, "Failed loading handlers of: " + e.getKey().getClass().getSimpleName() + " seems registerHandler function does not exist."); - }); - - for (Class<?> classes[] : HANDLERS) - { - for (Class<?> c : classes) + + try { - if (c == null) - { - continue; // Disabled handler - } - - try - { - Object handler = c.newInstance(); - for (Entry<IHandler<?, ?>, Method> entry : registerHandlerMethods.entrySet()) - { - if ((entry.getValue() != null) && entry.getValue().getParameterTypes()[0].isInstance(handler)) - { - entry.getValue().invoke(entry.getKey(), handler); - } - } - } - catch (Exception e) - { - _log.log(Level.WARNING, "Failed loading handler: " + c.getSimpleName(), e); - continue; - } + handler.registerByClass(c); + } + catch (Exception ex) + { + LOG.error("Failed loading handler {}!", c.getSimpleName(), ex); } } - - for (IHandler<?, ?> loadInstance : LOAD_INSTANCES) - { - _log.log(Level.INFO, loadInstance.getClass().getSimpleName() + ": Loaded " + loadInstance.size() + " Handlers"); - } - - _log.log(Level.INFO, "Handlers Loaded..."); + LOG.info("{}: Loaded {} handlers.", handler.getClass().getSimpleName(), handler.size()); } } \ No newline at end of file diff --git a/dist/game/data/scripts/handlers/admincommandhandlers/AdminCHSiege.java b/dist/game/data/scripts/handlers/admincommandhandlers/AdminCHSiege.java index 4fff78ea04..67526243e0 100644 --- a/dist/game/data/scripts/handlers/admincommandhandlers/AdminCHSiege.java +++ b/dist/game/data/scripts/handlers/admincommandhandlers/AdminCHSiege.java @@ -61,7 +61,7 @@ public final class AdminCHSiege implements IAdminCommandHandler { final String[] split = command.split(" "); SiegableHall hall = null; - if (Config.ALT_DEV_NO_QUESTS) + if (Config.NO_QUESTS) { activeChar.sendMessage("AltDevNoQuests = true; Clan Hall Sieges are disabled!"); return false; diff --git a/dist/game/data/scripts/handlers/admincommandhandlers/AdminQuest.java b/dist/game/data/scripts/handlers/admincommandhandlers/AdminQuest.java index 9f7b00bba2..f4dbb2a279 100644 --- a/dist/game/data/scripts/handlers/admincommandhandlers/AdminQuest.java +++ b/dist/game/data/scripts/handlers/admincommandhandlers/AdminQuest.java @@ -25,6 +25,9 @@ import java.util.TreeSet; import javax.script.ScriptException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import com.l2jserver.gameserver.handler.IAdminCommandHandler; import com.l2jserver.gameserver.instancemanager.QuestManager; import com.l2jserver.gameserver.model.actor.L2Character; @@ -35,11 +38,13 @@ import com.l2jserver.gameserver.model.events.listeners.AbstractEventListener; import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestTimer; import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; -import com.l2jserver.gameserver.scripting.L2ScriptEngineManager; +import com.l2jserver.gameserver.scripting.ScriptEngineManager; import com.l2jserver.gameserver.util.Util; public class AdminQuest implements IAdminCommandHandler { + private static final Logger LOG = LoggerFactory.getLogger(AdminQuest.class); + private static final String[] ADMIN_COMMANDS = { "admin_quest_reload", @@ -117,14 +122,14 @@ public class AdminQuest implements IAdminCommandHandler } else { - File file = new File(L2ScriptEngineManager.SCRIPT_FOLDER, parts[1]); + File file = new File(ScriptEngineManager.SCRIPT_FOLDER, parts[1]); // Trying to reload by script name. if (!file.exists()) { Quest quest = QuestManager.getInstance().getQuest(parts[1]); if (quest != null) { - file = new File(L2ScriptEngineManager.SCRIPT_FOLDER, quest.getClass().getName().replaceAll("\\.", "/") + ".java"); + file = new File(ScriptEngineManager.SCRIPT_FOLDER, quest.getClass().getName().replaceAll("\\.", "/") + ".java"); } } @@ -133,15 +138,15 @@ public class AdminQuest implements IAdminCommandHandler { try { - L2ScriptEngineManager.getInstance().executeScript(file); + ScriptEngineManager.getInstance().executeScript(file); // This part should be called only when the script is successfully loaded. activeChar.sendMessage("Script Successfully Loaded."); } - catch (ScriptException e) + catch (ScriptException ex) { activeChar.sendMessage("Failed loading: " + parts[1]); - L2ScriptEngineManager.getInstance().reportScriptFileError(file, e); + LOG.error("Failed loading {}!", parts[1], ex); } catch (Exception e) { @@ -292,7 +297,8 @@ public class AdminQuest implements IAdminCommandHandler { for (QuestTimer timer : list) { - timers += "<tr><td colspan=\"4\"><table width=270 border=0 bgcolor=131210><tr><td width=270><font color=\"LEVEL\">" + timer.getName() + ":</font> <font color=00FF00>Active: " + timer.getIsActive() + " Repeatable: " + timer.getIsRepeating() + " Player: " + timer.getPlayer() + " Npc: " + timer.getNpc() + "</font></td></tr></table></td></tr>"; + timers += "<tr><td colspan=\"4\"><table width=270 border=0 bgcolor=131210><tr><td width=270><font color=\"LEVEL\">" + timer.getName() + ":</font> <font color=00FF00>Active: " + timer.getIsActive() + " Repeatable: " + timer.getIsRepeating() + " Player: " + timer.getPlayer() + + " Npc: " + timer.getNpc() + "</font></td></tr></table></td></tr>"; counter++; if (counter > 10) { @@ -305,7 +311,8 @@ public class AdminQuest implements IAdminCommandHandler sb.append("<tr><td colspan=\"4\"><table width=270 border=0 bgcolor=131210><tr><td width=270><font color=\"LEVEL\">ID:</font> <font color=00FF00>" + quest.getId() + "</font></td></tr></table></td></tr>"); sb.append("<tr><td colspan=\"4\"><table width=270 border=0 bgcolor=131210><tr><td width=270><font color=\"LEVEL\">Name:</font> <font color=00FF00>" + quest.getName() + "</font></td></tr></table></td></tr>"); sb.append("<tr><td colspan=\"4\"><table width=270 border=0 bgcolor=131210><tr><td width=270><font color=\"LEVEL\">Descr:</font> <font color=00FF00>" + quest.getDescr() + "</font></td></tr></table></td></tr>"); - sb.append("<tr><td colspan=\"4\"><table width=270 border=0 bgcolor=131210><tr><td width=270><font color=\"LEVEL\">Path:</font> <font color=00FF00>" + quest.getClass().getName().substring(0, quest.getClass().getName().lastIndexOf('.')).replaceAll("\\.", "/") + "</font></td></tr></table></td></tr>"); + sb.append("<tr><td colspan=\"4\"><table width=270 border=0 bgcolor=131210><tr><td width=270><font color=\"LEVEL\">Path:</font> <font color=00FF00>" + quest.getClass().getName().substring(0, quest.getClass().getName().lastIndexOf('.')).replaceAll("\\.", "/") + + "</font></td></tr></table></td></tr>"); sb.append("<tr><td colspan=\"4\"><table width=270 border=0 bgcolor=131210><tr><td width=270><font color=\"LEVEL\">Events:</font> <font color=00FF00>" + events + "</font></td></tr></table></td></tr>"); if (!npcs.isEmpty()) { @@ -324,7 +331,8 @@ public class AdminQuest implements IAdminCommandHandler final NpcHtmlMessage msg = new NpcHtmlMessage(0, 1); msg.setFile(activeChar.getHtmlPrefix(), "data/html/admin/npc-quests.htm"); msg.replace("%quests%", sb.toString()); - msg.replace("%questName%", "<table><tr><td width=\"50\" align=\"left\"><a action=\"bypass -h admin_script_load " + quest.getName() + "\">Reload</a></td> <td width=\"150\" align=\"center\"><a action=\"bypass -h admin_quest_info " + quest.getName() + "\">" + quest.getName() + "</a></td> <td width=\"50\" align=\"right\"><a action=\"bypass -h admin_script_unload " + quest.getName() + "\">Unload</a></tr></td></table>"); + msg.replace("%questName%", "<table><tr><td width=\"50\" align=\"left\"><a action=\"bypass -h admin_script_load " + quest.getName() + "\">Reload</a></td> <td width=\"150\" align=\"center\"><a action=\"bypass -h admin_quest_info " + quest.getName() + "\">" + quest.getName() + + "</a></td> <td width=\"50\" align=\"right\"><a action=\"bypass -h admin_script_unload " + quest.getName() + "\">Unload</a></tr></td></table>"); activeChar.sendPacket(msg); } return true; diff --git a/dist/game/data/scripts/handlers/admincommandhandlers/AdminReload.java b/dist/game/data/scripts/handlers/admincommandhandlers/AdminReload.java index a21a05e092..2beb883fbc 100644 --- a/dist/game/data/scripts/handlers/admincommandhandlers/AdminReload.java +++ b/dist/game/data/scripts/handlers/admincommandhandlers/AdminReload.java @@ -21,8 +21,6 @@ package handlers.admincommandhandlers; import java.io.File; import java.util.StringTokenizer; -import javax.script.ScriptException; - import com.l2jserver.Config; import com.l2jserver.gameserver.cache.HtmCache; import com.l2jserver.gameserver.data.sql.impl.CrestTable; @@ -44,7 +42,7 @@ import com.l2jserver.gameserver.instancemanager.QuestManager; import com.l2jserver.gameserver.instancemanager.WalkingManager; import com.l2jserver.gameserver.instancemanager.ZoneManager; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.scripting.L2ScriptEngineManager; +import com.l2jserver.gameserver.scripting.ScriptEngineManager; import com.l2jserver.gameserver.util.Util; /** @@ -207,32 +205,16 @@ public class AdminReload implements IAdminCommandHandler } case "effect": { - final File file = new File(L2ScriptEngineManager.SCRIPT_FOLDER, "handlers/EffectMasterHandler.java"); - try - { - L2ScriptEngineManager.getInstance().executeScript(file); - AdminData.getInstance().broadcastMessageToGMs(activeChar.getName() + ": Reloaded Effects."); - } - catch (ScriptException e) - { - L2ScriptEngineManager.getInstance().reportScriptFileError(file, e); - activeChar.sendMessage("There was an error while loading handlers."); - } + final File file = new File(ScriptEngineManager.SCRIPT_FOLDER, "handlers/EffectMasterHandler.java"); + ScriptEngineManager.getInstance().compileScript(file); + AdminData.getInstance().broadcastMessageToGMs(activeChar.getName() + ": Reloaded Effects."); break; } case "handler": { - final File file = new File(L2ScriptEngineManager.SCRIPT_FOLDER, "handlers/MasterHandler.java"); - try - { - L2ScriptEngineManager.getInstance().executeScript(file); - AdminData.getInstance().broadcastMessageToGMs(activeChar.getName() + ": Reloaded Handlers."); - } - catch (ScriptException e) - { - L2ScriptEngineManager.getInstance().reportScriptFileError(file, e); - activeChar.sendMessage("There was an error while loading handlers."); - } + final File file = new File(ScriptEngineManager.SCRIPT_FOLDER, "handlers/MasterHandler.java"); + ScriptEngineManager.getInstance().compileScript(file); + AdminData.getInstance().broadcastMessageToGMs(activeChar.getName() + ": Reloaded Handlers."); break; } case "enchant": diff --git a/dist/game/data/scripts/handlers/telnethandlers/ReloadHandler.java b/dist/game/data/scripts/handlers/telnethandlers/ReloadHandler.java index 7eabc02e4b..8a37051639 100644 --- a/dist/game/data/scripts/handlers/telnethandlers/ReloadHandler.java +++ b/dist/game/data/scripts/handlers/telnethandlers/ReloadHandler.java @@ -23,8 +23,6 @@ import java.io.PrintWriter; import java.net.Socket; import java.util.StringTokenizer; -import javax.script.ScriptException; - import com.l2jserver.gameserver.cache.HtmCache; import com.l2jserver.gameserver.data.sql.impl.TeleportLocationTable; import com.l2jserver.gameserver.data.xml.impl.MultisellData; @@ -38,7 +36,7 @@ import com.l2jserver.gameserver.instancemanager.QuestManager; import com.l2jserver.gameserver.instancemanager.RaidBossSpawnManager; import com.l2jserver.gameserver.instancemanager.ZoneManager; import com.l2jserver.gameserver.model.L2World; -import com.l2jserver.gameserver.scripting.L2ScriptEngineManager; +import com.l2jserver.gameserver.scripting.ScriptEngineManager; /** * @author UnAfraid @@ -120,19 +118,14 @@ public class ReloadHandler implements ITelnetHandler { String questPath = st.hasMoreTokens() ? st.nextToken() : ""; - File file = new File(L2ScriptEngineManager.SCRIPT_FOLDER, questPath); + File file = new File(ScriptEngineManager.SCRIPT_FOLDER, questPath); if (file.isFile()) { try { - L2ScriptEngineManager.getInstance().executeScript(file); + ScriptEngineManager.getInstance().compileScript(file); _print.println(file.getName() + " was successfully loaded!\n"); } - catch (ScriptException e) - { - _print.println("Failed loading: " + questPath); - L2ScriptEngineManager.getInstance().reportScriptFileError(file, e); - } catch (Exception e) { _print.println("Failed loading: " + questPath); diff --git a/dist/game/data/scripts/handlers/usercommandhandlers/ChannelDelete.java b/dist/game/data/scripts/handlers/usercommandhandlers/ChannelDelete.java index 42cf15357b..e45ed0ff80 100644 --- a/dist/game/data/scripts/handlers/usercommandhandlers/ChannelDelete.java +++ b/dist/game/data/scripts/handlers/usercommandhandlers/ChannelDelete.java @@ -18,11 +18,11 @@ */ package handlers.usercommandhandlers; +import static com.l2jserver.gameserver.network.SystemMessageId.COMMAND_CHANNEL_DISBANDED; + import com.l2jserver.gameserver.handler.IUserCommandHandler; import com.l2jserver.gameserver.model.L2CommandChannel; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; -import com.l2jserver.gameserver.network.SystemMessageId; -import com.l2jserver.gameserver.network.serverpackets.SystemMessage; /** * Channel Delete user command. @@ -49,8 +49,7 @@ public class ChannelDelete implements IUserCommandHandler { L2CommandChannel channel = activeChar.getParty().getCommandChannel(); - SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.COMMAND_CHANNEL_DISBANDED); - channel.broadcastPacket(sm); + channel.broadcastMessage(COMMAND_CHANNEL_DISBANDED); channel.disbandChannel(); return true; diff --git a/dist/game/data/scripts/handlers/voicedcommandhandlers/StatsVCmd.java b/dist/game/data/scripts/handlers/voicedcommandhandlers/StatsVCmd.java index 7ec394139c..20a16f7272 100644 --- a/dist/game/data/scripts/handlers/voicedcommandhandlers/StatsVCmd.java +++ b/dist/game/data/scripts/handlers/voicedcommandhandlers/StatsVCmd.java @@ -18,11 +18,13 @@ */ package handlers.voicedcommandhandlers; +import static com.l2jserver.gameserver.network.SystemMessageId.S1_OFFLINE; +import static com.l2jserver.gameserver.network.SystemMessageId.TARGET_IS_NOT_FOUND_IN_THE_GAME; + import com.l2jserver.gameserver.handler.IVoicedCommandHandler; import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.entity.L2Event; -import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; import com.l2jserver.util.StringUtil; @@ -49,13 +51,13 @@ public class StatsVCmd implements IVoicedCommandHandler final L2PcInstance pc = L2World.getInstance().getPlayer(params); if ((pc == null)) { - activeChar.sendPacket(SystemMessageId.TARGET_IS_NOT_FOUND_IN_THE_GAME); + activeChar.sendPacket(TARGET_IS_NOT_FOUND_IN_THE_GAME); return false; } if (pc.getClient().isDetached()) { - final SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_OFFLINE); + final SystemMessage sm = SystemMessage.getSystemMessage(S1_OFFLINE); sm.addPcName(pc); activeChar.sendPacket(sm); return false; @@ -67,7 +69,8 @@ public class StatsVCmd implements IVoicedCommandHandler return false; } - final StringBuilder replyMSG = StringUtil.startAppend(300 + (pc.getEventStatus().getKills().size() * 50), "<html><body>" + "<center><font color=\"LEVEL\">[ L2J EVENT ENGINE ]</font></center><br><br>Statistics for player <font color=\"LEVEL\">", pc.getName(), "</font><br>Total kills <font color=\"FF0000\">", String.valueOf(pc.getEventStatus().getKills().size()), "</font><br><br>Detailed list: <br>"); + final StringBuilder replyMSG = StringUtil.startAppend(300 + (pc.getEventStatus().getKills().size() * 50), "<html><body>" + + "<center><font color=\"LEVEL\">[ L2J EVENT ENGINE ]</font></center><br><br>Statistics for player <font color=\"LEVEL\">", pc.getName(), "</font><br>Total kills <font color=\"FF0000\">", String.valueOf(pc.getEventStatus().getKills().size()), "</font><br><br>Detailed list: <br>"); for (L2PcInstance plr : pc.getEventStatus().getKills()) { StringUtil.append(replyMSG, "<font color=\"FF0000\">", plr.getName(), "</font><br>"); diff --git a/dist/game/data/scripts/hellbound/HellboundLoader.java b/dist/game/data/scripts/hellbound/HellboundLoader.java index db0a34ae36..ccb644627a 100644 --- a/dist/game/data/scripts/hellbound/HellboundLoader.java +++ b/dist/game/data/scripts/hellbound/HellboundLoader.java @@ -18,6 +18,14 @@ */ package hellbound; +import java.util.logging.Logger; + +import com.l2jserver.Config; +import com.l2jserver.gameserver.handler.AdminCommandHandler; +import com.l2jserver.gameserver.handler.IAdminCommandHandler; +import com.l2jserver.gameserver.handler.IVoicedCommandHandler; +import com.l2jserver.gameserver.handler.VoicedCommandHandler; + import handlers.admincommandhandlers.AdminHellbound; import handlers.voicedcommandhandlers.Hellbound; import hellbound.AI.Amaskari; @@ -52,18 +60,9 @@ import hellbound.AI.Zones.TullyWorkshop.TullyWorkshop; import hellbound.Instances.DemonPrinceFloor.DemonPrinceFloor; import hellbound.Instances.RankuFloor.RankuFloor; import hellbound.Instances.UrbanArea.UrbanArea; - -import java.util.logging.Logger; - import quests.Q00130_PathToHellbound.Q00130_PathToHellbound; import quests.Q00133_ThatsBloodyHot.Q00133_ThatsBloodyHot; -import com.l2jserver.Config; -import com.l2jserver.gameserver.handler.AdminCommandHandler; -import com.l2jserver.gameserver.handler.IAdminCommandHandler; -import com.l2jserver.gameserver.handler.IVoicedCommandHandler; -import com.l2jserver.gameserver.handler.VoicedCommandHandler; - /** * Hellbound class-loader. * @author Zoey76 @@ -130,7 +129,7 @@ public final class HellboundLoader { try { - final Object instance = script.newInstance(); + final Object instance = script.getDeclaredConstructor().newInstance(); if (instance instanceof IAdminCommandHandler) { AdminCommandHandler.getInstance().registerHandler((IAdminCommandHandler) instance); diff --git a/dist/game/data/scripts/instances/InstanceLoader.java b/dist/game/data/scripts/instances/InstanceLoader.java index 0a63f79bd3..48fdc9fb99 100644 --- a/dist/game/data/scripts/instances/InstanceLoader.java +++ b/dist/game/data/scripts/instances/InstanceLoader.java @@ -101,7 +101,7 @@ public final class InstanceLoader { try { - script.newInstance(); + script.getDeclaredConstructor().newInstance(); } catch (Exception e) { diff --git a/dist/game/data/scripts/quests/QuestMasterHandler.java b/dist/game/data/scripts/quests/QuestMasterHandler.java index d360dcff6c..46a903abc7 100644 --- a/dist/game/data/scripts/quests/QuestMasterHandler.java +++ b/dist/game/data/scripts/quests/QuestMasterHandler.java @@ -1037,7 +1037,7 @@ public class QuestMasterHandler { try { - quest.newInstance(); + quest.getDeclaredConstructor().newInstance(); } catch (Exception e) { diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 9d7ffea662cf6cccbe1c1ce55c4fd1886fabca60..0d4a9516871afd710a9d84d89e31ba77745607bd 100644 GIT binary patch delta 32384 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 delta 32643 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ξ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 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 5cbe776b31..a95009c3b9 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ -distributionBase=GRADLE_USER_HOME -distributionPath=wrapper/dists -zipStoreBase=GRADLE_USER_HOME -zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-bin.zip +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index 4453ccea33..cccdd3d517 100755 --- a/gradlew +++ b/gradlew @@ -33,11 +33,11 @@ DEFAULT_JVM_OPTS="" # Use the maximum available, or set MAX_FD != -1 to use that value. MAX_FD="maximum" -warn ( ) { +warn () { echo "$*" } -die ( ) { +die () { echo echo "$*" echo @@ -155,7 +155,7 @@ if $cygwin ; then fi # Escape application args -save ( ) { +save () { for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done echo " " } -- GitLab