diff --git a/.gitignore b/.gitignore index 63188ef5..91d18d0a 100644 Binary files a/.gitignore and b/.gitignore differ diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..7b016a89 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.compile.nullAnalysis.mode": "automatic" +} \ No newline at end of file diff --git a/src/main/java/hudson/plugins/emailext/ExtendedEmailPublisher.java b/src/main/java/hudson/plugins/emailext/ExtendedEmailPublisher.java index 193971f7..4ac1cd1d 100644 --- a/src/main/java/hudson/plugins/emailext/ExtendedEmailPublisher.java +++ b/src/main/java/hudson/plugins/emailext/ExtendedEmailPublisher.java @@ -856,16 +856,17 @@ private ClassLoader expandClasspath(ExtendedEmailPublisherContext context, Class } boolean useSecurity = Jenkins.get().isUseSecurity(); - if (!classpathList.isEmpty()) { - GroovyClassLoader gloader = new GroovyClassLoader(loader); - gloader.setShouldRecompile(true); - for (ClasspathEntry entry : classpathList) { - if (useSecurity) { - ScriptApproval.get().using(entry); + if (!classpathList.isEmpty()) { + try (GroovyClassLoader gloader = new GroovyClassLoader(loader)) { + gloader.setShouldRecompile(true); + for (ClasspathEntry entry : classpathList) { + if (useSecurity) { + ScriptApproval.get().using(entry); + } + gloader.addURL(entry.getURL()); } - gloader.addURL(entry.getURL()); + loader = gloader; } - loader = gloader; } if (useSecurity) { return GroovySandbox.createSecureClassLoader(loader); diff --git a/src/main/java/hudson/plugins/emailext/MailAccount.java b/src/main/java/hudson/plugins/emailext/MailAccount.java index bfb4e4e1..ff6a4a87 100644 --- a/src/main/java/hudson/plugins/emailext/MailAccount.java +++ b/src/main/java/hudson/plugins/emailext/MailAccount.java @@ -170,7 +170,7 @@ public FormValidation doCheckCredentialsId( if (CredentialsProvider.listCredentials( StandardUsernamePasswordCredentials.class, item, - item instanceof Queue.Task t ? Tasks.getAuthenticationOf(t) : ACL.SYSTEM, + item instanceof Queue.Task t ? Tasks.getAuthenticationOf2(t) : ACL.SYSTEM2, null, CredentialsMatchers.withId(value)) .isEmpty()) { @@ -310,7 +310,7 @@ private void migrateCredentials() { } final List credentials = CredentialsMatchers.filter( CredentialsProvider.lookupCredentials( - StandardUsernamePasswordCredentials.class, Jenkins.get(), ACL.SYSTEM, domainRequirement), + StandardUsernamePasswordCredentials.class, Jenkins.get(), ACL.SYSTEM2, domainRequirement), CredentialsMatchers.withUsername(smtpUsername)); for (final StandardUsernamePasswordCredentials cred : credentials) { if (smtpPassword.getPlainText().equals(Secret.toString(cred.getPassword()))) {