<surefireAggregatedReport _class='hudson.maven.reporters.SurefireAggregatedReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>80</totalCount><urlName>testReport</urlName><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>15</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-api/1554/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1554</displayName><duration>20732</duration><estimatedDuration>12390</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-API #1554</fullDisplayName><id>1554</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1554</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1617938111719</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-api/1554/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>proxy/pom.xml</affectedPath><affectedPath>api/src/main/java/net/md_5/bungee/api/plugin/PluginClassloader.java</affectedPath><affectedPath>api/src/main/java/net/md_5/bungee/api/plugin/LibraryLoader.java</affectedPath><affectedPath>api/src/main/java/net/md_5/bungee/api/plugin/PluginDescription.java</affectedPath><affectedPath>api/src/main/java/net/md_5/bungee/api/plugin/PluginManager.java</affectedPath><affectedPath>api/pom.xml</affectedPath><commitId>6a039de8db3a9dc78fe884e5d150db24df1933bb</commitId><timestamp>1617938035000</timestamp><author><absoluteUrl>https://hub.spigotmc.org/jenkins/user/md_5</absoluteUrl><fullName>md_5</fullName></author><authorEmail>git@md-5.net</authorEmail><comment>Add preview of automatic library support

Example plugin.yml usage:
```
    libraries:
      - com.squareup.okhttp3:okhttp:4.9.0
```

Libraries will only be accessible to plugins and their transitive depends, allowing for multiple versions of the same library to be used by different plugins.

This is a preview feature. Feedback is welcome so that it may be refined before being made widely available.
</comment><date>2021-04-09 13:13:55 +1000</date><id>6a039de8db3a9dc78fe884e5d150db24df1933bb</id><msg>Add preview of automatic library support</msg><path><editType>edit</editType><file>proxy/pom.xml</file></path><path><editType>edit</editType><file>api/pom.xml</file></path><path><editType>edit</editType><file>api/src/main/java/net/md_5/bungee/api/plugin/PluginClassloader.java</file></path><path><editType>edit</editType><file>api/src/main/java/net/md_5/bungee/api/plugin/PluginDescription.java</file></path><path><editType>edit</editType><file>api/src/main/java/net/md_5/bungee/api/plugin/PluginManager.java</file></path><path><editType>add</editType><file>api/src/main/java/net/md_5/bungee/api/plugin/LibraryLoader.java</file></path></item></changeSet><culprit><absoluteUrl>https://hub.spigotmc.org/jenkins/user/md_5</absoluteUrl><fullName>md_5</fullName></culprit><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-api/1554/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>0.069000006</duration><empty>false</empty><failCount>0</failCount><passCount>15</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.api.ServerConnectRequestTest</className><duration>0.004</duration><failedSince>0</failedSince><name>testNullReason</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.ServerConnectRequestTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testNullTarget</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.004</duration><name>net.md_5.bungee.api.ServerConnectRequestTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.util.AddressParseTest</className><duration>0.002</duration><failedSince>0</failedSince><name>test[0]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.AddressParseTest</className><duration>0.0</duration><failedSince>0</failedSince><name>test[1]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.AddressParseTest</className><duration>0.001</duration><failedSince>0</failedSince><name>test[2]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.AddressParseTest</className><duration>0.0</duration><failedSince>0</failedSince><name>test[3]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.AddressParseTest</className><duration>0.001</duration><failedSince>0</failedSince><name>test[4]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.AddressParseTest</className><duration>0.0</duration><failedSince>0</failedSince><name>test[5]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.AddressParseTest</className><duration>0.0</duration><failedSince>0</failedSince><name>test[6]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.AddressParseTest</className><duration>0.001</duration><failedSince>0</failedSince><name>test[7]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.AddressParseTest</className><duration>0.001</duration><failedSince>0</failedSince><name>test[8]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.006</duration><name>net.md_5.bungee.util.AddressParseTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.util.CaseInsensitiveTest</className><duration>0.006</duration><failedSince>0</failedSince><name>testMaps</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.CaseInsensitiveTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testSets</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.007</duration><name>net.md_5.bungee.util.CaseInsensitiveTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.util.UUIDTest</className><duration>0.051</duration><failedSince>0</failedSince><name>testMany</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.UUIDTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testSingle</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.052</duration><name>net.md_5.bungee.util.UUIDTest</name><properties></properties></suite></result></childReport><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>34</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-chat/1554/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1554</displayName><duration>22798</duration><estimatedDuration>12458</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-Chat #1554</fullDisplayName><id>1554</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1554</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1617938111785</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-chat/1554/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'></changeSet><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-chat/1554/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>0.188</duration><empty>false</empty><failCount>0</failCount><passCount>34</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.004</duration><failedSince>0</failedSince><name>testComponentGettingExceptions</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.065</duration><failedSince>0</failedSince><name>testToLegacyFromLegacy</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.004</duration><failedSince>0</failedSince><name>testLegacyComponentBuilderAppend</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.095</duration><failedSince>0</failedSince><name>testItemParse</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.003</duration><failedSince>0</failedSince><name>testTranslateComponent</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBasicComponent</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testScore</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testModernShowAdvancement</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testLegacyHack</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testLoopComplex</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testLoopSimple</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBuilder</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testComponentBuilderCursor</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testRepeatedError</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.005</duration><failedSince>0</failedSince><name>testHoverEventContents</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testRepeated</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBuilderAppendLegacy</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testComponentParting</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.006</duration><failedSince>0</failedSince><name>testInvalidColorCodes</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testDummyRetaining</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBuilderClone</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBuilderReset</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testEmptyComponentBuilder</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBuilderAppendMixedComponents</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testLegacyConverter</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBuilderAppend</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testEquals</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBuilderFormatRetention</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testNotEquals</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testComponentBuilderCursorInvalidPos</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testFormatRetentionCopyFormatting</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.ComponentsTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testFormattingOnlyTextConversion</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.188</duration><name>net.md_5.bungee.api.chat.ComponentsTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.api.chat.TranslatableComponentTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testJsonSerialisation</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.api.chat.TranslatableComponentTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testMissingPlaceholdersAdded</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.0</duration><name>net.md_5.bungee.api.chat.TranslatableComponentTest</name><properties></properties></suite></result></childReport><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>9</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-config/1554/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1554</displayName><duration>22791</duration><estimatedDuration>10473</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-Config #1554</fullDisplayName><id>1554</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1554</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1617938111833</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-config/1554/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'></changeSet><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-config/1554/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>0.146</duration><empty>false</empty><failCount>0</failCount><passCount>9</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.config.CompoundConfigurationTest</className><duration>0.093</duration><failedSince>0</failedSince><name>testNumberedKeys[class net.md_5.bungee.config.YamlConfiguration]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.config.CompoundConfigurationTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testNull[class net.md_5.bungee.config.YamlConfiguration]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.config.CompoundConfigurationTest</className><duration>0.037</duration><failedSince>0</failedSince><name>testConfig[class net.md_5.bungee.config.YamlConfiguration]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.config.CompoundConfigurationTest</className><duration>0.003</duration><failedSince>0</failedSince><name>testMapAddition[class net.md_5.bungee.config.YamlConfiguration]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.config.CompoundConfigurationTest</className><duration>0.005</duration><failedSince>0</failedSince><name>testNumberedKeys[class net.md_5.bungee.config.JsonConfiguration]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.config.CompoundConfigurationTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testNull[class net.md_5.bungee.config.JsonConfiguration]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.config.CompoundConfigurationTest</className><duration>0.005</duration><failedSince>0</failedSince><name>testConfig[class net.md_5.bungee.config.JsonConfiguration]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.config.CompoundConfigurationTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testMapAddition[class net.md_5.bungee.config.JsonConfiguration]</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.146</duration><name>net.md_5.bungee.config.CompoundConfigurationTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.config.DefaultConfigurationTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testDefaultValues</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.0</duration><name>net.md_5.bungee.config.DefaultConfigurationTest</name><properties></properties></suite></result></childReport><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>3</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-event/1554/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1554</displayName><duration>18241</duration><estimatedDuration>9617</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-Event #1554</fullDisplayName><id>1554</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1554</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1617938111864</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-event/1554/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'></changeSet><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-event/1554/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>0.008</duration><empty>false</empty><failCount>0</failCount><passCount>3</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.event.EventBusTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testNestedEvents</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.0</duration><name>net.md_5.bungee.event.EventBusTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.event.EventPriorityTest</className><duration>0.008</duration><failedSince>0</failedSince><name>testPriority</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.008</duration><name>net.md_5.bungee.event.EventPriorityTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.event.UnregisteringListenerTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testPriority</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.0</duration><name>net.md_5.bungee.event.UnregisteringListenerTest</name><properties></properties></suite></result></childReport><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>5</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-native/1554/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1554</displayName><duration>28827</duration><estimatedDuration>11397</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-Native #1554</fullDisplayName><id>1554</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1554</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1617938112268</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-native/1554/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'></changeSet><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-native/1554/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>6.801</duration><empty>false</empty><failCount>0</failCount><passCount>5</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.NativeCipherTest</className><duration>0.099</duration><failedSince>0</failedSince><name>testJDK</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.NativeCipherTest</className><duration>4.126</duration><failedSince>0</failedSince><name>testJDKBenchmark</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.NativeCipherTest</className><duration>0.002</duration><failedSince>0</failedSince><name>testNative</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.NativeCipherTest</className><duration>1.91</duration><failedSince>0</failedSince><name>testNativeBenchmark</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>6.137</duration><name>net.md_5.bungee.NativeCipherTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.NativeZlibTest</className><duration>0.664</duration><failedSince>0</failedSince><name>doTest</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.664</duration><name>net.md_5.bungee.NativeZlibTest</name><properties></properties></suite></result></childReport><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>1</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-protocol/1554/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1554</displayName><duration>19362</duration><estimatedDuration>15099</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-Protocol #1554</fullDisplayName><id>1554</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1554</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1617938112174</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-protocol/1554/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'></changeSet><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-protocol/1554/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>0.007</duration><empty>false</empty><failCount>0</failCount><passCount>1</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.protocol.packet.PluginMessageTest</className><duration>0.007</duration><failedSince>0</failedSince><name>testModerniseChannel</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.007</duration><name>net.md_5.bungee.protocol.packet.PluginMessageTest</name><properties></properties></suite></result></childReport><childReport><child _class='hudson.maven.MavenBuild'><action _class='hudson.maven.reporters.SurefireReport'><failCount>0</failCount><skipCount>0</skipCount><totalCount>13</totalCount><urlName>testReport</urlName></action><action></action><action _class='hudson.maven.reporters.MavenArtifactRecord'><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-proxy/1554/mavenArtifacts/</url></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><displayName>#1554</displayName><duration>10206</duration><estimatedDuration>6352</estimatedDuration><fullDisplayName>BungeeCord » BungeeCord-Proxy #1554</fullDisplayName><id>1554</id><inProgress>false</inProgress><keepLog>false</keepLog><number>1554</number><queueId>-1</queueId><result>SUCCESS</result><timestamp>1617938112208</timestamp><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-proxy/1554/</url><builtOn></builtOn><changeSet _class='hudson.maven.FilteredChangeLogSet'><item _class='hudson.plugins.git.GitChangeSet'><affectedPath>proxy/pom.xml</affectedPath><affectedPath>api/src/main/java/net/md_5/bungee/api/plugin/PluginClassloader.java</affectedPath><affectedPath>api/src/main/java/net/md_5/bungee/api/plugin/LibraryLoader.java</affectedPath><affectedPath>api/src/main/java/net/md_5/bungee/api/plugin/PluginDescription.java</affectedPath><affectedPath>api/src/main/java/net/md_5/bungee/api/plugin/PluginManager.java</affectedPath><affectedPath>api/pom.xml</affectedPath><commitId>6a039de8db3a9dc78fe884e5d150db24df1933bb</commitId><timestamp>1617938035000</timestamp><author><absoluteUrl>https://hub.spigotmc.org/jenkins/user/md_5</absoluteUrl><fullName>md_5</fullName></author><authorEmail>git@md-5.net</authorEmail><comment>Add preview of automatic library support

Example plugin.yml usage:
```
    libraries:
      - com.squareup.okhttp3:okhttp:4.9.0
```

Libraries will only be accessible to plugins and their transitive depends, allowing for multiple versions of the same library to be used by different plugins.

This is a preview feature. Feedback is welcome so that it may be refined before being made widely available.
</comment><date>2021-04-09 13:13:55 +1000</date><id>6a039de8db3a9dc78fe884e5d150db24df1933bb</id><msg>Add preview of automatic library support</msg><path><editType>edit</editType><file>proxy/pom.xml</file></path><path><editType>edit</editType><file>api/pom.xml</file></path><path><editType>edit</editType><file>api/src/main/java/net/md_5/bungee/api/plugin/PluginClassloader.java</file></path><path><editType>edit</editType><file>api/src/main/java/net/md_5/bungee/api/plugin/PluginDescription.java</file></path><path><editType>edit</editType><file>api/src/main/java/net/md_5/bungee/api/plugin/PluginManager.java</file></path><path><editType>add</editType><file>api/src/main/java/net/md_5/bungee/api/plugin/LibraryLoader.java</file></path></item></changeSet><culprit><absoluteUrl>https://hub.spigotmc.org/jenkins/user/md_5</absoluteUrl><fullName>md_5</fullName></culprit><mavenArtifacts><url>https://hub.spigotmc.org/jenkins/job/BungeeCord/net.md-5$bungeecord-proxy/1554/mavenArtifacts/</url></mavenArtifacts></child><result _class='hudson.tasks.junit.TestResult'><duration>1.392</duration><empty>false</empty><failCount>0</failCount><passCount>13</passCount><skipCount>0</skipCount><suite><case><age>0</age><className>net.md_5.bungee.ThrottleTest</className><duration>0.059</duration><failedSince>0</failedSince><name>testThrottle</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.059</duration><name>net.md_5.bungee.ThrottleTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.scheduler.SchedulerTest</className><duration>0.065</duration><failedSince>0</failedSince><name>testRun</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.scheduler.SchedulerTest</className><duration>0.501</duration><failedSince>0</failedSince><name>testScheduleAndRepeat</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.scheduler.SchedulerTest</className><duration>0.755</duration><failedSince>0</failedSince><name>testCancel</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>1.321</duration><name>net.md_5.bungee.scheduler.SchedulerTest</name><properties></properties></suite><suite><case><age>0</age><className>net.md_5.bungee.util.BoundedArrayListTest</className><duration>0.01</duration><failedSince>0</failedSince><name>testGoodAddAll</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.BoundedArrayListTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testGoodAddAll1</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.BoundedArrayListTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testGoodAdd1</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.BoundedArrayListTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBadAdd1</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.BoundedArrayListTest</className><duration>0.001</duration><failedSince>0</failedSince><name>testGoodAdd</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.BoundedArrayListTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBadAddAll1</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.BoundedArrayListTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBadAdd</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.BoundedArrayListTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testSizeOneAdd</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><case><age>0</age><className>net.md_5.bungee.util.BoundedArrayListTest</className><duration>0.0</duration><failedSince>0</failedSince><name>testBadAddAll</name><properties></properties><skipped>false</skipped><status>PASSED</status></case><duration>0.012</duration><name>net.md_5.bungee.util.BoundedArrayListTest</name><properties></properties></suite></result></childReport></surefireAggregatedReport>