Skip to content

Commit

Permalink
Java11 build support, remove some ridiculous guava usage and move spo…
Browse files Browse the repository at this point in the history
…cktest to plain java to avoid so many different technologies (#221)

 java11 build support, remove some ridiculous guava usage, move spock test to plain java

Signed-off-by: olivier lamy <olamy@apache.org>
  • Loading branch information
olamy committed Apr 7, 2020
1 parent 45610a4 commit 9794345
Show file tree
Hide file tree
Showing 40 changed files with 407 additions and 439 deletions.
1 change: 1 addition & 0 deletions .travis.yml
Expand Up @@ -8,6 +8,7 @@ git:

jdk:
- openjdk8
- openjdk11

# TravisCI build is running only for coveralls.io/Coverage
# Test verification pipeline is on ci.jenkins.io
Expand Down
2 changes: 1 addition & 1 deletion Jenkinsfile
@@ -1,2 +1,2 @@
// Builds a module using https://github.com/jenkins-infra/pipeline-library
buildPlugin(platforms: ['linux'])
buildPlugin(platforms: ['linux'], jdkVersions: [8,11])
102 changes: 16 additions & 86 deletions pom.xml
Expand Up @@ -20,7 +20,6 @@
<changelist>-SNAPSHOT</changelist>
<java.level>8</java.level>
<mockito.version>1.10.19</mockito.version>
<powermock.version>1.6.3</powermock.version>
<jira-rest-client.version>5.2.1</jira-rest-client.version>
<fugue.version>3.0.0</fugue.version>
<workflow.version>2.0</workflow.version>
Expand All @@ -33,31 +32,11 @@
<findbugs.failOnError>false</findbugs.failOnError>

<!-- tests -->
<groovy.version>2.4.5</groovy.version>
<groovy.version>2.4.15</groovy.version>
<surefire.version>2.20</surefire.version>
<configuration-as-code.version>1.36</configuration-as-code.version>
</properties>

<profiles>
<profile>
<id>doclint-java8-disable</id>
<activation>
<jdk>[1.8,)</jdk>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>

<scm>
<connection>scm:git:git://github.com/jenkinsci/jira-plugin.git</connection>
<developerConnection>scm:git:git@github.com:jenkinsci/jira-plugin.git</developerConnection>
Expand Down Expand Up @@ -112,42 +91,23 @@
</reporting>

<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<doclint>none</doclint>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.eluder.coveralls</groupId>
<artifactId>coveralls-maven-plugin</artifactId>
<version>4.3.0</version>
</plugin>
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<configuration>
<source>1.${java.level}</source>
<providerSelection>1.8</providerSelection>
</configuration>
<dependencies>
<dependency>
<groupId>org.codehaus.gmaven.runtime</groupId>
<artifactId>gmaven-runtime-1.8</artifactId>
<version>1.5</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>${groovy.version}</version>
</dependency>
</dependencies>
<executions>
<execution>
<goals>
<goal>generateStubs</goal>
<goal>compile</goal>
<goal>generateTestStubs</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- spotbugs is defined in parent plugin-pom but overriding some things here -->
<plugin>
<groupId>com.github.spotbugs</groupId>
Expand All @@ -171,7 +131,7 @@
</configuration>
</execution>
</executions>
</plugin>
</plugin>
</plugins>
</build>

Expand Down Expand Up @@ -332,14 +292,8 @@
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>1.3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.2</version>
<artifactId>hamcrest-core</artifactId>
<version>2.1</version>
<scope>test</scope>
</dependency>
<dependency>
Expand All @@ -348,30 +302,6 @@
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.spockframework</groupId>
<artifactId>spock-core</artifactId>
<version>1.1-groovy-2.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.github.mifmif</groupId>
<artifactId>generex</artifactId>
Expand Down Expand Up @@ -409,7 +339,7 @@
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.4.12</version>
<version>${groovy.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
Expand Down
1 change: 0 additions & 1 deletion src/main/java/hudson/plugins/jira/CredentialsHelper.java
Expand Up @@ -2,7 +2,6 @@

import java.io.IOException;
import java.net.URL;
import java.util.Collections;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
Expand Down
Expand Up @@ -13,7 +13,7 @@ public class JiraGlobalConfiguration extends GlobalConfiguration {

@Nonnull
public static JiraGlobalConfiguration get() {
return (JiraGlobalConfiguration) Jenkins.getInstance().getDescriptorOrDie(JiraGlobalConfiguration.class);
return (JiraGlobalConfiguration) Jenkins.get().getDescriptorOrDie(JiraGlobalConfiguration.class);
}

public List<JiraSite> sites = new PersistedList<>(this);
Expand Down
5 changes: 2 additions & 3 deletions src/main/java/hudson/plugins/jira/JiraIssueUpdater.java
Expand Up @@ -2,12 +2,11 @@

import java.io.IOException;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.List;

import org.kohsuke.stapler.DataBoundConstructor;

import com.google.common.collect.Lists;

import hudson.Extension;
import hudson.FilePath;
import hudson.Launcher;
Expand Down Expand Up @@ -50,7 +49,7 @@ public JiraIssueUpdater(AbstractIssueSelector issueSelector, SCM scm, List<Strin
if(labels != null)
this.labels = labels;
else
this.labels = Lists.newArrayList();
this.labels = new ArrayList();
}

@Override
Expand Down
28 changes: 16 additions & 12 deletions src/main/java/hudson/plugins/jira/JiraRestService.java
Expand Up @@ -15,7 +15,6 @@
*/
package hudson.plugins.jira;

import com.atlassian.jira.rest.client.api.JiraRestClient;
import com.atlassian.jira.rest.client.api.RestClientException;
import com.atlassian.jira.rest.client.api.domain.BasicIssue;
import com.atlassian.jira.rest.client.api.domain.BasicProject;
Expand All @@ -39,8 +38,6 @@
import com.atlassian.jira.rest.client.api.domain.input.TransitionInput;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.common.collect.Iterators;
import com.google.common.collect.Lists;
import hudson.plugins.jira.extension.ExtendedJiraRestClient;
import hudson.plugins.jira.extension.ExtendedVersion;
import hudson.plugins.jira.extension.ExtendedVersionInput;
Expand All @@ -56,7 +53,6 @@

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URI;
import java.util.ArrayList;
Expand All @@ -69,7 +65,6 @@
import java.util.stream.Collectors;
import java.util.stream.StreamSupport;

import static java.util.logging.Level.FINE;
import static java.util.logging.Level.INFO;
import static java.util.logging.Level.WARNING;

Expand Down Expand Up @@ -170,7 +165,8 @@ public Issue getIssue(String issueKey) {

public List<IssueType> getIssueTypes() {
try {
return Lists.newArrayList(jiraRestClient.getMetadataClient().getIssueTypes().get(timeout, TimeUnit.SECONDS));
return StreamSupport.stream(jiraRestClient.getMetadataClient().getIssueTypes().get( timeout, TimeUnit.SECONDS ).spliterator(), false ).
collect( Collectors.toList() );
} catch (Exception e) {
LOGGER.log(WARNING, "Jira REST client get issue types error. cause: " + e.getMessage(), e);
return Collections.emptyList();
Expand All @@ -179,7 +175,11 @@ public List<IssueType> getIssueTypes() {

public List<Priority> getPriorities() {
try {
return Lists.newArrayList(jiraRestClient.getMetadataClient().getPriorities().get(timeout, TimeUnit.SECONDS));
return StreamSupport.stream(jiraRestClient.getMetadataClient().
getPriorities().get(timeout, TimeUnit.SECONDS).
spliterator(),
false).
collect( Collectors.toList() );
} catch (Exception e) {
LOGGER.log(WARNING, "Jira REST client get priorities error. cause: " + e.getMessage(), e);
return Collections.emptyList();
Expand All @@ -205,7 +205,8 @@ public List<Issue> getIssuesFromJqlSearch(String jqlSearch, Integer maxResults)
final SearchResult searchResult = jiraRestClient.getSearchClient()
.searchJql(jqlSearch, maxResults, 0, null)
.get(timeout, TimeUnit.SECONDS);
return Lists.newArrayList(searchResult.getIssues());
return StreamSupport.stream(searchResult.getIssues().spliterator(), false).
collect( Collectors.toList() );
} catch(TimeoutException e) {
LOGGER.log(WARNING, "Jira REST client timeout from jql search error. cause: " + e.getMessage(), e);
throw e;
Expand Down Expand Up @@ -293,8 +294,9 @@ public BasicIssue createIssue(String projectKey, String description, String assi
// See upstream fix for setAssigneeName:
// https://bitbucket.org/atlassian/jira-rest-java-client/pull-requests/104/change-field-name-from-name-to-id-for/diff
builder.setFieldInput(new FieldInput(IssueFieldId.ASSIGNEE_FIELD, ComplexIssueInputFieldValue.with("accountId", assignee)));
}
if (Iterators.size(components.iterator()) > 0){
}

if (StreamSupport.stream( components.spliterator(), false ).count() > 0){
builder.setComponentsNames(components);
}

Expand Down Expand Up @@ -378,7 +380,8 @@ public List<Transition> getAvailableActions(String issueKey) {
final Iterable<Transition> transitions = jiraRestClient.getIssueClient()
.getTransitions(issue)
.get(timeout, TimeUnit.SECONDS);
return Lists.newArrayList(transitions);
return StreamSupport.stream(transitions.spliterator(), false).
collect( Collectors.toList() );
} catch (Exception e) {
LOGGER.log(WARNING, "Jira REST client get available actions error. cause: " + e.getMessage(), e);
return Collections.emptyList();
Expand All @@ -389,7 +392,8 @@ public List<Status> getStatuses() {
try {
final Iterable<Status> statuses = jiraRestClient.getMetadataClient().getStatuses()
.get(timeout, TimeUnit.SECONDS);
return Lists.newArrayList(statuses);
return StreamSupport.stream(statuses.spliterator(), false).
collect( Collectors.toList());
} catch (Exception e) {
LOGGER.log(WARNING, "Jira REST client get statuses error. cause: " + e.getMessage(), e);
return Collections.emptyList();
Expand Down
5 changes: 2 additions & 3 deletions src/main/java/hudson/plugins/jira/JiraSite.java
Expand Up @@ -68,7 +68,6 @@
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import java.util.function.Supplier;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Pattern;
Expand Down Expand Up @@ -486,7 +485,7 @@ protected Object readResolve() {
return jiraSite;
}

private static Cache<String, Optional<Issue>> makeIssueCache() {
protected static Cache<String, Optional<Issue>> makeIssueCache() {
return CacheBuilder.newBuilder().concurrencyLevel(2).expireAfterAccess(2, TimeUnit.MINUTES).build();
}

Expand Down Expand Up @@ -857,7 +856,7 @@ public static JiraSite get(Job<?, ?> p) {
// none is explicitly configured. try the default ---
// if only one is configured, that must be it.
List<JiraSite> sites = JiraGlobalConfiguration.get().getSites();
if (sites.size() == 1) {
if (sites != null && sites.size() == 1) {
return sites.get(0);
}

Expand Down
5 changes: 2 additions & 3 deletions src/main/java/hudson/plugins/jira/RunScmChangeExtractor.java
Expand Up @@ -2,11 +2,10 @@

import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.google.common.collect.Maps;

import hudson.model.AbstractBuild;
import hudson.model.AbstractProject;
import hudson.model.Run;
Expand Down Expand Up @@ -79,7 +78,7 @@ public static Map<AbstractProject, DependencyChange> getDependencyChanges(Run<?,
}
}
// jenkins workflow plugin etc.
return Maps.newHashMap();
return new HashMap();
}

}

0 comments on commit 9794345

Please sign in to comment.