Skip to content

Commit

Permalink
Modernize build (#25)
Browse files Browse the repository at this point in the history
  • Loading branch information
basil authored Nov 15, 2022
1 parent eaf6302 commit c94f088
Show file tree
Hide file tree
Showing 13 changed files with 126 additions and 102 deletions.
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @jenkinsci/extra-tool-installers-plugin-developers
16 changes: 13 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,15 @@
.settings/
target

# mvn hpi:run
work

# IntelliJ IDEA project files
*.iml
*.iws
*.ipr
.idea

# Eclipse project files
.settings
.classpath
.project
/target/
/work/
7 changes: 7 additions & 0 deletions .mvn/extensions.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<extensions xmlns="http://maven.apache.org/EXTENSIONS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/EXTENSIONS/1.0.0 http://maven.apache.org/xsd/core-extensions-1.0.0.xsd">
<extension>
<groupId>io.jenkins.tools.incrementals</groupId>
<artifactId>git-changelist-maven-extension</artifactId>
<version>1.4</version>
</extension>
</extensions>
2 changes: 2 additions & 0 deletions .mvn/maven.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
-Pconsume-incrementals
-Pmight-produce-incrementals
7 changes: 6 additions & 1 deletion Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,7 @@
// Build the plugin using https://github.com/jenkins-infra/pipeline-library
buildPlugin(configurations: buildPlugin.recommendedConfigurations())
buildPlugin(useContainerAgent: true, configurations: [
[ platform: 'linux', jdk: '8' ],
[ platform: 'linux', jdk: '11' ],
[ platform: 'windows', jdk: '11' ],
[ platform: 'linux', jdk: '17' ],
])
27 changes: 13 additions & 14 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,23 +4,23 @@
<parent>
<groupId>org.jenkins-ci.plugins</groupId>
<artifactId>plugin</artifactId>
<version>4.0</version>
<version>4.50</version>
<relativePath />
</parent>

<groupId>io.jenkins.plugins</groupId>
<artifactId>extra-tool-installers</artifactId>
<version>1.2-SNAPSHOT</version>
<version>${revision}${changelist}</version>
<name>Jenkins Extra Tool Installers Plugin</name>
<description>Provides additional tool installation methods.</description>
<packaging>hpi</packaging>
<url>https://github.com/jenkinsci/extra-tool-installers-plugin</url>
<url>https://github.com/jenkinsci/${project.artifactId}-plugin</url>

<properties>
<revision>1.1</revision>
<revision>1.2</revision>
<changelist>-SNAPSHOT</changelist>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<jenkins.version>2.289.1</jenkins.version>
<java.level>8</java.level>
<jenkins.version>2.332.1</jenkins.version>
<gitHubRepo>jenkinsci/${project.artifactId}-plugin</gitHubRepo>
</properties>

<repositories>
Expand Down Expand Up @@ -65,7 +65,6 @@
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>2.2</version>
<scope>test</scope>
</dependency>
<dependency>
Expand All @@ -79,19 +78,19 @@
<dependencies>
<dependency>
<groupId>io.jenkins.tools.bom</groupId>
<artifactId>bom-2.289.x</artifactId>
<version>841.vd6e713d848ab</version>
<artifactId>bom-2.332.x</artifactId>
<version>1678.vc1feb_6a_3c0f1</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>

<scm>
<connection>scm:git:ssh://github.com/jenkinsci/${project.artifactId}-plugin.git</connection>
<developerConnection>scm:git:ssh://git@github.com/jenkinsci/${project.artifactId}-plugin.git</developerConnection>
<url>https://github.com/jenkinsci/${project.artifactId}-plugin</url>
<tag>HEAD</tag>
<connection>scm:git:https://github.com/${gitHubRepo}.git</connection>
<developerConnection>scm:git:git@github.com:${gitHubRepo}.git</developerConnection>
<url>https://github.com/${gitHubRepo}</url>
<tag>${scmTag}</tag>
</scm>

<licenses>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
import hudson.tools.ToolInstaller;
import jenkins.model.Jenkins;

import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import edu.umd.cs.findbugs.annotations.CheckForNull;
import edu.umd.cs.findbugs.annotations.NonNull;
import edu.umd.cs.findbugs.annotations.Nullable;

/**
* Provides parsing of environment variables in input string.
Expand Down Expand Up @@ -56,7 +56,7 @@ public static String substituteEnvVars(String macroString, EnvVars environment)
* @return Substituted string
*/
@Nullable
public static String substituteNodeVariables(@CheckForNull String macroString, @Nonnull Node node) {
public static String substituteNodeVariables(@CheckForNull String macroString, @NonNull Node node) {
if (macroString == null) return null;
if (!macroString.contains("${")) {
return macroString;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
import java.util.List;
import java.util.Map;

import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import edu.umd.cs.findbugs.annotations.CheckForNull;
import edu.umd.cs.findbugs.annotations.NonNull;
import edu.umd.cs.findbugs.annotations.Nullable;

import org.jenkinsci.Symbol;
import org.kohsuke.stapler.DataBoundConstructor;
Expand Down Expand Up @@ -190,7 +190,7 @@ public FilePath performInstallation(final ToolInstallation tool, final Node node
throw new ExtraToolInstallersException(this, Messages.AnyOfInstaller_all_failed(), lastExceptionEncountered);
}

@Nonnull
@NonNull
private List<? extends ToolInstaller> getOurInstallers() {
if (installers == null || installers.installers == null) {
return Collections.emptyList();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
import java.io.IOException;
import java.util.Date;

import javax.annotation.CheckForNull;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import edu.umd.cs.findbugs.annotations.CheckForNull;
import edu.umd.cs.findbugs.annotations.NonNull;
import edu.umd.cs.findbugs.annotations.Nullable;

import org.apache.commons.httpclient.Header;
import org.apache.commons.httpclient.HttpClient;
Expand All @@ -34,15 +34,15 @@
*/
class AuthenticatedDownloadCallable extends MasterToSlaveFileCallable<Date> {
private static final long serialVersionUID = 1L;
@Nonnull
@NonNull
private final URI uri;
@CheckForNull
private final String usernameOrNull;
@CheckForNull
private final String passwordOrNull;
@CheckForNull
private final Long timestampOfLocalContents;
@Nonnull
@NonNull
private final String nodeName;
@CheckForNull
private final TaskListener logOrNull;
Expand Down Expand Up @@ -70,8 +70,8 @@ class AuthenticatedDownloadCallable extends MasterToSlaveFileCallable<Date> {
* Where to log build progress. Can be null to suppress the
* normal running commentary.
*/
AuthenticatedDownloadCallable(@Nonnull URI uri, @CheckForNull String usernameOrNull,
@CheckForNull String passwordOrNull, @CheckForNull Long timestampOfLocalContents, @Nonnull String nodeName,
AuthenticatedDownloadCallable(@NonNull URI uri, @CheckForNull String usernameOrNull,
@CheckForNull String passwordOrNull, @CheckForNull Long timestampOfLocalContents, @NonNull String nodeName,
@CheckForNull TaskListener logOrNull) {
this.uri = uri;
this.usernameOrNull = usernameOrNull;
Expand All @@ -81,7 +81,7 @@ class AuthenticatedDownloadCallable extends MasterToSlaveFileCallable<Date> {
this.logOrNull = logOrNull;
}

public Date invoke(@Nonnull File d, VirtualChannel channel) throws IOException, InterruptedException {
public Date invoke(@NonNull File d, VirtualChannel channel) throws IOException, InterruptedException {
final FilePath whereToDownloadTo = new FilePath(d);
return downloadAndUnpack(uri, usernameOrNull, passwordOrNull, timestampOfLocalContents, nodeName,
whereToDownloadTo, logOrNull);
Expand Down Expand Up @@ -122,9 +122,9 @@ public Date invoke(@Nonnull File d, VirtualChannel channel) throws IOException,
* @throws InterruptedException
* if we were interrupted.
*/
static Date downloadAndUnpack(@Nonnull final URI uri, @CheckForNull final String usernameOrNull,
static Date downloadAndUnpack(@NonNull final URI uri, @CheckForNull final String usernameOrNull,
@CheckForNull final String passwordOrNull, @CheckForNull final Long timestampOfLocalContents,
@Nonnull final String nodeName, @CheckForNull final FilePath whereToDownloadToOrNull,
@NonNull final String nodeName, @CheckForNull final FilePath whereToDownloadToOrNull,
@CheckForNull final TaskListener logOrNull) throws IOException, InterruptedException {
final HttpClient client = new HttpClient();
final HttpMethodBase httpRequest;
Expand Down Expand Up @@ -201,8 +201,8 @@ static Date downloadAndUnpack(@Nonnull final URI uri, @CheckForNull final String
}

private static void setAuthentication(@CheckForNull final String usernameOrNull,
@CheckForNull final String passwordOrNull, @Nonnull final HttpClient client,
@Nonnull final HttpMethodBase httpRequest) throws URIException {
@CheckForNull final String passwordOrNull, @NonNull final HttpClient client,
@NonNull final HttpMethodBase httpRequest) throws URIException {
final UsernamePasswordCredentials httpClientCredentials = new UsernamePasswordCredentials(usernameOrNull,
passwordOrNull);
final String host = httpRequest.getURI().getHost();
Expand All @@ -212,18 +212,18 @@ private static void setAuthentication(@CheckForNull final String usernameOrNull,
client.getParams().setAuthenticationPreemptive(true);
}

private static void skipDownload(@Nonnull final FilePath whereToDownloadTo,
@CheckForNull final TaskListener logOrNull, @Nonnull final URI uri, @Nonnull final String nodeName) {
private static void skipDownload(@NonNull final FilePath whereToDownloadTo,
@CheckForNull final TaskListener logOrNull, @NonNull final URI uri, @NonNull final String nodeName) {
if (logOrNull != null) {
final String folder = whereToDownloadTo.getRemote();
final String msg = Messages.AuthenticatedZipExtractionInstaller_download_skipped(uri, folder, nodeName);
logOrNull.getLogger().println(msg);
}
}

private static void doDownload(@Nonnull final HttpMethodBase httpGet, @Nonnull final FilePath whereToDownloadTo,
@CheckForNull final TaskListener logOrNull, @Nonnull final URI uri,
@CheckForNull final String usernameOrNull, @Nonnull final String nodeName)
private static void doDownload(@NonNull final HttpMethodBase httpGet, @NonNull final FilePath whereToDownloadTo,
@CheckForNull final TaskListener logOrNull, @NonNull final URI uri,
@CheckForNull final String usernameOrNull, @NonNull final String nodeName)
throws IOException, InterruptedException, URIException {
if (whereToDownloadTo.exists()) {
whereToDownloadTo.deleteContents();
Expand Down Expand Up @@ -269,37 +269,37 @@ private static void doDownload(@Nonnull final HttpMethodBase httpGet, @Nonnull f
*/
static class HttpGetException extends IOException {
private static final long serialVersionUID = 1L;
@Nonnull
@NonNull
private final String uri;
@CheckForNull
private final String usernameOrNull;
@CheckForNull
private final Integer httpStatusCodeOrNull;

private HttpGetException(@Nonnull final String uri, @CheckForNull final String usernameOrNull,
@CheckForNull Integer httpStatusCodeOrNull, @Nonnull final String reason, @Nullable Throwable cause) {
private HttpGetException(@NonNull final String uri, @CheckForNull final String usernameOrNull,
@CheckForNull Integer httpStatusCodeOrNull, @NonNull final String reason, @Nullable Throwable cause) {
super((usernameOrNull == null ? "Anonymous" : "Authenticated") + " HTTP GET of " + uri
+ (usernameOrNull == null ? "" : (" as " + usernameOrNull)) + " failed, " + reason, cause);
this.uri = uri;
this.usernameOrNull = usernameOrNull;
this.httpStatusCodeOrNull = httpStatusCodeOrNull;
}

HttpGetException(@Nonnull final String uri, @CheckForNull final String usernameOrNull, int httpStatusCode) {
HttpGetException(@NonNull final String uri, @CheckForNull final String usernameOrNull, int httpStatusCode) {
this(uri, usernameOrNull, httpStatusCode,
httpStatusCode + " (" + HttpStatus.getStatusText(httpStatusCode) + ")", null);
}

HttpGetException(@Nonnull final String uri, @CheckForNull final String usernameOrNull, @Nonnull String reason,
HttpGetException(@NonNull final String uri, @CheckForNull final String usernameOrNull, @NonNull String reason,
@Nullable Throwable cause) {
this(uri, usernameOrNull, null, reason, cause);
}

HttpGetException(@Nonnull final String uri, @CheckForNull final String usernameOrNull, @Nonnull String reason) {
HttpGetException(@NonNull final String uri, @CheckForNull final String usernameOrNull, @NonNull String reason) {
this(uri, usernameOrNull, null, reason, null);
}

@Nonnull
@NonNull
public String getUri() {
return uri;
}
Expand Down
Loading

0 comments on commit c94f088

Please sign in to comment.