diff --git a/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/MavenExecutionDetails.java b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/MavenExecutionDetails.java new file mode 100644 index 00000000..bdacee16 --- /dev/null +++ b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/MavenExecutionDetails.java @@ -0,0 +1,121 @@ +package org.jenkinsci.plugins.pipeline.maven.model; + +import java.io.Serializable; +import java.time.ZonedDateTime; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.SortedSet; +import java.util.TreeSet; +import java.util.stream.Collectors; + +import javax.annotation.Nonnull; + +/** + * @author Cyrille Le Clerc + */ +public class MavenExecutionDetails implements Comparable, Serializable { + + private static final long serialVersionUID = 1L; + + private SortedSet mavenProjectExecutionDetails = new TreeSet<>(); + + @Nonnull + private final ZonedDateTime start; + @Nonnull + private ZonedDateTime stop; + + public MavenExecutionDetails(@Nonnull ZonedDateTime start) { + this.start = start; + } + + public SortedSet getMavenProjectExecutionDetails() { + return mavenProjectExecutionDetails; + } + + @Nonnull + public ZonedDateTime getStart() { + return start; + } + + @Nonnull + public ZonedDateTime getStop() { + return stop; + } + + public void setStop(@Nonnull ZonedDateTime stop) { + this.stop = stop; + } + + @Override + public int compareTo(MavenExecutionDetails o) { + return this.start.compareTo(o.start); + } + + /** + * it's a poor comparison but there is no risk of having 2 builds starting at the same time + * + * @param o + * @return + */ + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + MavenExecutionDetails that = (MavenExecutionDetails) o; + + return start.equals(that.start); + } + + @Override + public int hashCode() { + return start.hashCode(); + } + + public String getExecutionDurationDetails() { + + Map phaseDetailsByPhase = new HashMap<>(); + + for (MavenProjectExecutionDetails projectExecutionDetails : + getMavenProjectExecutionDetails()) { + for (MavenMojoExecutionDetails mojoExecutionDetails : projectExecutionDetails.getMojoExecutionDetails()) { + + MavenExecutionPhaseDetails mavenExecutionPhaseDetails = phaseDetailsByPhase.computeIfAbsent(mojoExecutionDetails.getLifecyclePhase(), phase -> new MavenExecutionPhaseDetails(phase)); + mavenExecutionPhaseDetails.getMojoExecutionDetails().add(mojoExecutionDetails); + } + } + + StringBuilder sb = new StringBuilder(); + + int phasesCounter = 0; + int mojoExecutionCounter = 0; + List mavenExecutionPhaseDetailsList = phaseDetailsByPhase.values().stream().sorted().collect(Collectors.toList()); + + for (MavenExecutionPhaseDetails phaseDetails : mavenExecutionPhaseDetailsList) { + phasesCounter++; + if (phaseDetails.getMojoExecutionDetails().isEmpty()) { + + } else { + sb.append(" * " + phaseDetails.getPhase() + " --- " + phaseDetails.getDuration() + "\n"); + for (MavenMojoExecutionDetails mojoExecutionDetails : phaseDetails.getMojoExecutionDetails().stream()/*.filter(m -> m.getDurationMillis() > 1000)*/.collect(Collectors.toList())) { + mojoExecutionCounter++; + sb.append(" * " + mojoExecutionDetails.getPlugin().getArtifactId() + ":" + mojoExecutionDetails.getGoal() + " (" + mojoExecutionDetails.getLifecyclePhase() + " - " + mojoExecutionDetails.getExecutionId() + ")" + " @ " + mojoExecutionDetails.getProject().getArtifactId() + " --- " + mojoExecutionDetails.getDuration() + "\n"); + } + } + } + + sb.append("\n####\n"); + for (MavenExecutionPhaseDetails phaseDetails : mavenExecutionPhaseDetailsList) { + if (phaseDetails.getMojoExecutionDetails().isEmpty()) { + } else { + sb.append(" * " + phaseDetails.getPhase() + " --- " + phaseDetails.getDuration() + "\n"); + } + } + + sb.append("phases:" + phasesCounter + ", mojoExecutions:" + mojoExecutionCounter); + + return sb.toString(); + } +} diff --git a/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/MavenExecutionEventType.java b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/MavenExecutionEventType.java new file mode 100644 index 00000000..96100e95 --- /dev/null +++ b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/MavenExecutionEventType.java @@ -0,0 +1,24 @@ +package org.jenkinsci.plugins.pipeline.maven.model; + +/** + * See {@code org.apache.maven.execution.ExecutionEvent.Type} + */ +public enum MavenExecutionEventType { + ProjectDiscoveryStarted, + SessionStarted, + SessionEnded, + ProjectSkipped, + ProjectStarted, + ProjectSucceeded, + ProjectFailed, + MojoSkipped, + MojoStarted, + MojoSucceeded, + MojoFailed, + ForkStarted, + ForkSucceeded, + ForkFailed, + ForkedProjectStarted, + ForkedProjectSucceeded, + ForkedProjectFailed +} diff --git a/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/MavenExecutionPhaseDetails.java b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/MavenExecutionPhaseDetails.java new file mode 100644 index 00000000..6ac351ac --- /dev/null +++ b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/MavenExecutionPhaseDetails.java @@ -0,0 +1,77 @@ +package org.jenkinsci.plugins.pipeline.maven.model; + +import edu.umd.cs.findbugs.annotations.NonNull; +import org.apache.commons.lang3.builder.CompareToBuilder; + +import java.time.ZonedDateTime; +import java.util.SortedSet; +import java.util.TreeSet; +import java.util.concurrent.TimeUnit; + +import javax.annotation.Nonnull; + +/** + * @author Cyrille Le Clerc + */ +public class MavenExecutionPhaseDetails implements Comparable { + @NonNull + private final String phase; + @NonNull + private SortedSet mojoExecutionDetails = new TreeSet<>(); + + public MavenExecutionPhaseDetails(@NonNull String phase) { + this.phase = phase; + } + + @Nonnull + public ZonedDateTime getStart() { + return mojoExecutionDetails.first().getStart(); + } + + @Nonnull + public ZonedDateTime getStop() { + return mojoExecutionDetails.last().getStop(); + } + + /** + * Duration in seconds + * @return duration (e.g. "12s") + */ + @Nonnull + public String getDuration() { + int durationInSecs = 0; + for (MavenMojoExecutionDetails mojoExecutionDetails:getMojoExecutionDetails()) { + durationInSecs += mojoExecutionDetails.getDurationMillis(); + } + return TimeUnit.SECONDS.convert(durationInSecs, TimeUnit.MILLISECONDS) + "s"; + } + + /** + * Maven lifecycle phase + * @return phase (e.g. "compile") + */ + @NonNull + public String getPhase() { + return phase; + } + + public SortedSet getMojoExecutionDetails() { + return mojoExecutionDetails; + } + + @Override + public int compareTo(MavenExecutionPhaseDetails other) { + return new CompareToBuilder() + .append(this.getStart(), other.getStart()) + .append(this.getStop(), other.getStop()) + .toComparison(); + } + + @Override + public String toString() { + return "MavenExecutionPhaseDetails{" + + "phase=" + phase + + ", mojoExecutionDetails=" + mojoExecutionDetails + + '}'; + } +} diff --git a/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/MavenExecutionStatus.java b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/MavenExecutionStatus.java new file mode 100644 index 00000000..fa2e1d18 --- /dev/null +++ b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/MavenExecutionStatus.java @@ -0,0 +1,6 @@ +package org.jenkinsci.plugins.pipeline.maven.model; + +/** + * See {@code org.apache.maven.execution.BuildSuccess} and {@code org.apache.maven.execution.BuildFailure} + */ +public enum MavenExecutionStatus {Success, Failure} diff --git a/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/MavenMojoExecutionDetails.java b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/MavenMojoExecutionDetails.java new file mode 100644 index 00000000..61772f52 --- /dev/null +++ b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/MavenMojoExecutionDetails.java @@ -0,0 +1,148 @@ +package org.jenkinsci.plugins.pipeline.maven.model; + +import org.jenkinsci.plugins.pipeline.maven.MavenArtifact; + +import java.io.Serializable; +import java.time.Duration; +import java.time.ZonedDateTime; +import java.time.temporal.ChronoUnit; + +import javax.annotation.Nonnull; + +/** + * @author Cyrille Le Clerc + */ +public class MavenMojoExecutionDetails implements Comparable, Serializable { + + private static final long serialVersionUID = 1L; + + @Nonnull + private final MavenArtifact project; + @Nonnull + private final MavenArtifact plugin; + @Nonnull + private final String executionId; + @Nonnull + private final String goal; + @Nonnull + private final String lifecyclePhase; + @Nonnull + private final ZonedDateTime start; + @Nonnull + private ZonedDateTime stop; + @Nonnull + private MavenExecutionEventType type; + + public MavenMojoExecutionDetails(@Nonnull MavenArtifact project, @Nonnull MavenArtifact plugin, @Nonnull String executionId, @Nonnull String lifecyclePhase, @Nonnull String goal, @Nonnull ZonedDateTime start, @Nonnull MavenExecutionEventType type) { + this.project = project; + this.plugin = plugin; + this.executionId = executionId; + this.lifecyclePhase = lifecyclePhase; + this.goal = goal; + this.start = start; + this.stop = start; + this.type = type; + } + + /** + * See {@code org.apache.maven.execution.ExecutionEvent.Type#MojoStarted} + */ + @Nonnull + public ZonedDateTime getStart() { + return start; + } + + /** + * See {@code org.apache.maven.execution.ExecutionEvent.Type#MojoSucceeded} and {@code org.apache.maven.execution.ExecutionEvent.Type#MojoFailed} + */ + @Nonnull + public ZonedDateTime getStop() { + return stop; + } + + public void stop(@Nonnull ZonedDateTime stop, MavenExecutionEventType type) { + this.stop = stop; + this.type = type; + } + + @Nonnull + public MavenArtifact getProject() { + return project; + } + + @Nonnull + public MavenArtifact getPlugin() { + return plugin; + } + + @Nonnull + public String getExecutionId() { + return executionId; + } + + @Nonnull + public String getLifecyclePhase() { + return lifecyclePhase; + } + + @Nonnull + public String getGoal() { + return goal; + } + + @Override + public String toString() { + return "MavenMojoExecutionDetails{" + + "project=" + project.getId() + + ", plugin=" + plugin.getId() + + ", executionId='" + executionId + '\'' + + ", lifecyclePhase='" + lifecyclePhase + '\'' + + ", goal='" + goal + '\'' + + ", start=" + start + + ", stop=" + stop + + ", type=" + type + + '}'; + } + + @Override + public int compareTo(MavenMojoExecutionDetails other) { + int comparison = this.getStart().compareTo(other.getStart()); + + if (comparison == 0) { + comparison = this.getStop().compareTo(other.getStop()); + } + return comparison; + } + + @Nonnull + public String getDuration() { + return Duration.between(start, stop).getSeconds() + "s"; + } + + @Nonnull + public long getDurationMillis() { + return start.until(stop, ChronoUnit.MILLIS); + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + MavenMojoExecutionDetails that = (MavenMojoExecutionDetails) o; + + if (!project.equals(that.project)) return false; + if (!plugin.equals(that.plugin)) return false; + if (!executionId.equals(that.executionId)) return false; + return goal.equals(that.goal); + } + + @Override + public int hashCode() { + int result = project.hashCode(); + result = 31 * result + plugin.hashCode(); + result = 31 * result + executionId.hashCode(); + result = 31 * result + goal.hashCode(); + return result; + } +} diff --git a/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/MavenProjectExecutionDetails.java b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/MavenProjectExecutionDetails.java new file mode 100644 index 00000000..b0f13f71 --- /dev/null +++ b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/MavenProjectExecutionDetails.java @@ -0,0 +1,96 @@ +package org.jenkinsci.plugins.pipeline.maven.model; + +import org.jenkinsci.plugins.pipeline.maven.MavenArtifact; + +import java.io.Serializable; +import java.time.Duration; +import java.time.ZonedDateTime; +import java.util.SortedSet; +import java.util.TreeSet; + +import javax.annotation.Nonnull; + +/** + * @author Cyrille Le Clerc + */ +public class MavenProjectExecutionDetails implements Comparable, Serializable { + private static final long serialVersionUID = 1L; + + @Nonnull + private MavenArtifact project; + @Nonnull + private SortedSet mojoExecutionDetails = new TreeSet<>(); + + public MavenProjectExecutionDetails(@Nonnull MavenArtifact project) { + this.project = project; + } + + /** + * See {@code org.apache.maven.execution.ExecutionEvent.Type#MojoStarted} + */ + @Nonnull + public ZonedDateTime getStart() { + return mojoExecutionDetails.first().getStart(); + } + + /** + * See {@code org.apache.maven.execution.ExecutionEvent.Type#MojoSucceeded} and {@code org.apache.maven.execution.ExecutionEvent.Type#MojoFailed} + */ + @Nonnull + public ZonedDateTime getStop() { + return mojoExecutionDetails.last().getStop(); + } + + @Override + public String toString() { + return "MavenProjectExecutionDetails{" + + "artifact=" + project + + ", start=" + getStart() + + ", stop=" + getStop() + + '}'; + } + + @Override + public int compareTo(MavenProjectExecutionDetails other) { + int comparison = this.getStart().compareTo(other.getStart()); + + if (comparison == 0) { + comparison = this.getStop().compareTo(other.getStop()); + } + return comparison; + } + + @Nonnull + public MavenArtifact getProject() { + return project; + } + + @Nonnull + public SortedSet getMojoExecutionDetails() { + return mojoExecutionDetails; + } + + public void add(@Nonnull MavenMojoExecutionDetails timer) { + mojoExecutionDetails.add(timer); + } + + @Nonnull + public String getDuration() { + return Duration.between(getStart(), getStop()).getSeconds() + "s"; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + MavenProjectExecutionDetails that = (MavenProjectExecutionDetails) o; + + return project.equals(that.project); + } + + @Override + public int hashCode() { + return project.hashCode(); + } +} diff --git a/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/ObjectFactory.java b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/ObjectFactory.java new file mode 100644 index 00000000..e43f0274 --- /dev/null +++ b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/model/ObjectFactory.java @@ -0,0 +1,133 @@ +package org.jenkinsci.plugins.pipeline.maven.model; + +import org.apache.commons.collections.map.HashedMap; +import org.jenkinsci.plugins.pipeline.maven.MavenArtifact; +import org.jenkinsci.plugins.pipeline.maven.util.XmlUtils; +import org.w3c.dom.Element; + +import java.time.LocalDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; + +import javax.annotation.Nonnull; + +/** + * @author Cyrille Le Clerc + */ +public class ObjectFactory { + private final transient DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.n"); + + @Nonnull + public MavenExecutionDetails analyseMavenBuildExecution(@Nonnull Element mavenSpyLogsElt) { + String startTimeAsString = mavenSpyLogsElt.getAttribute("_time"); + ZonedDateTime mavenBuildStartTime = dateTimeFormatter.parse(startTimeAsString, LocalDateTime::from).atZone(ZoneId.systemDefault()); + + MavenExecutionDetails mavenExecutionDetails = new MavenExecutionDetails(mavenBuildStartTime); + Element mavenExecutionResult = XmlUtils.getUniqueChildElement(mavenSpyLogsElt, "MavenExecutionResult"); + String stopTimeAsString = mavenExecutionResult.getAttribute("_time"); + ZonedDateTime mavenBuildStopTime = dateTimeFormatter.parse(stopTimeAsString, LocalDateTime::from).atZone(ZoneId.systemDefault()); + + List buildSummaries = XmlUtils.getChildrenElements(mavenExecutionResult,"buildSummary"); + // FIXME associate build summaries with projects + /* + + + + MavenExecutionStatus status; + + if (buildSummary == null) { + status = MavenExecutionStatus.Failure; + } else if ("org.apache.maven.execution.BuildSuccess".equals(buildSummary.getAttribute("class"))) { + status = MavenExecutionStatus.Success; + } else { + status = MavenExecutionStatus.Failure; + } + */ + + mavenExecutionDetails.setStop(mavenBuildStopTime); + + List mojoTimers = analyseMavenMojoExecutions(mavenSpyLogsElt); + Map projectTimersPerProject = new HashedMap(); + for (MavenMojoExecutionDetails mojoTimer : mojoTimers) { + projectTimersPerProject.computeIfAbsent(mojoTimer.getProject(), p -> new MavenProjectExecutionDetails(p)).add(mojoTimer); + } + + mavenExecutionDetails.getMavenProjectExecutionDetails().addAll(projectTimersPerProject.values()); + + return mavenExecutionDetails; + } + + @Nonnull + public List analyseMavenMojoExecutions(@Nonnull Element mavenSpyLogsElt) { + List executionEvents = XmlUtils.getChildrenElements(mavenSpyLogsElt, "ExecutionEvent"); + + List timers = new ArrayList<>(); + + for (Element executionEventElt : executionEvents) { + + MavenExecutionEventType type = MavenExecutionEventType.valueOf(executionEventElt.getAttribute("type")); + String timeAsString = executionEventElt.getAttribute("_time"); + ZonedDateTime mojoExecutionTime = dateTimeFormatter.parse(timeAsString, LocalDateTime::from).atZone(ZoneId.systemDefault()); + + Element projectElt = XmlUtils.getUniqueChildElementOrNull(executionEventElt, "project"); + if (projectElt == null) { + // ExecutionEvent not attached to a project. Not seen so far, just in case + continue; + } + if (!projectElt.hasAttribute("groupId") || !projectElt.hasAttribute("artifactId") || !projectElt.hasAttribute("version")) { + // ExecutionEvent not attached stop an artifact such as "ProjectDiscoveryStarted" + continue; + } + MavenArtifact project = XmlUtils.newMavenArtifact(projectElt); + + Element pluginElt = XmlUtils.getUniqueChildElementOrNull(executionEventElt, "plugin"); + if (pluginElt == null) { + // ExecutionEvent not attached to a plugin/mojo, ignore + continue; + } + if (!pluginElt.hasAttribute("groupId") || !pluginElt.hasAttribute("artifactId") || !pluginElt.hasAttribute("version")) { + // ExecutionEvent not attached to a plugin/mojo (e.g. "ProjectDiscoveryStarted"), ignore + continue; + } + + MavenArtifact plugin = XmlUtils.newMavenArtifact(pluginElt); + String executionId = pluginElt.getAttribute("executionId"); + String goal = pluginElt.getAttribute("goal"); + String lifecyclePhase = pluginElt.getAttribute("lifecyclePhase"); + + + switch (type) { + case MojoStarted: + case MojoSkipped: + MavenMojoExecutionDetails timer = new MavenMojoExecutionDetails(project, plugin, executionId, lifecyclePhase, goal, mojoExecutionTime, type); + timers.add(timer); + break; + case MojoFailed: + case MojoSucceeded: + MavenMojoExecutionDetails matchingTimer = timers.stream().filter(t -> t.getProject().equals(project) && t.getPlugin().equals(plugin) && t.getExecutionId().equals(executionId)).findFirst().get(); + if (matchingTimer == null) { + // fixme log warning + } else { + matchingTimer.stop(mojoExecutionTime, type); + } + break; + default: + // ignore other event types + } + } + Collections.sort(timers); + return timers; + } +} diff --git a/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/publishers/MavenBuildDetailsPublisher.java b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/publishers/MavenBuildDetailsPublisher.java new file mode 100644 index 00000000..35ebe22d --- /dev/null +++ b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/publishers/MavenBuildDetailsPublisher.java @@ -0,0 +1,61 @@ +package org.jenkinsci.plugins.pipeline.maven.publishers; + +import hudson.Extension; +import hudson.model.TaskListener; +import org.jenkinsci.Symbol; +import org.jenkinsci.plugins.pipeline.maven.MavenPublisher; +import org.jenkinsci.plugins.workflow.steps.StepContext; +import org.w3c.dom.Element; + +import java.io.IOException; +import java.io.PrintStream; +import java.util.logging.Logger; + +import javax.annotation.Nonnull; + +/** + * @author Cyrille Le Clerc + */ +public class MavenBuildDetailsPublisher extends MavenPublisher { + private static final long serialVersionUID = 1L; + private static final Logger LOGGER = Logger.getLogger(MavenBuildDetailsPublisher.class.getName()); + + @Override + public void process(@Nonnull StepContext context, @Nonnull Element mavenSpyLogsElt) throws IOException, InterruptedException { + TaskListener listener = context.get(TaskListener.class); + PrintStream logger = listener.getLogger(); + process(mavenSpyLogsElt, logger); + + } + + public void process(@Nonnull Element mavenSpyLogsElt, PrintStream out) { + out.println("[withMaven] Build details"); + // FIXME + } + + + + + + @Symbol("moduleViewPublisher") + @Extension + public static class DescriptorImpl extends MavenPublisher.DescriptorImpl { + @Nonnull + @Override + public String getDisplayName() { + return "Module View Publisher"; + } + + @Override + public int ordinal() { + return 1000; + } + + @Nonnull + @Override + public String getSkipFileName() { + return ".skip-module-view"; + } + + } +} diff --git a/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/publishers/MavenLinkerPublisher2.java b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/publishers/MavenLinkerPublisher2.java index 81190141..b80189de 100644 --- a/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/publishers/MavenLinkerPublisher2.java +++ b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/publishers/MavenLinkerPublisher2.java @@ -4,11 +4,14 @@ import hudson.model.Run; import org.jenkinsci.Symbol; import org.jenkinsci.plugins.pipeline.maven.MavenPublisher; +import org.jenkinsci.plugins.pipeline.maven.model.MavenExecutionDetails; +import org.jenkinsci.plugins.pipeline.maven.model.ObjectFactory; import org.jenkinsci.plugins.workflow.steps.StepContext; import org.kohsuke.stapler.DataBoundConstructor; import org.w3c.dom.Element; import java.io.IOException; +import java.util.Collections; /** @@ -31,6 +34,7 @@ public class MavenLinkerPublisher2 extends MavenPublisher { private static final long serialVersionUID = 1L; + @DataBoundConstructor public MavenLinkerPublisher2() { // default DataBoundConstructor @@ -42,10 +46,16 @@ public MavenLinkerPublisher2() { @Override public synchronized void process(StepContext context, Element mavenSpyLogsElt) throws IOException, InterruptedException { Run run = context.get(Run.class); + + MavenExecutionDetails mavenExecutionDetails = new ObjectFactory().analyseMavenBuildExecution(mavenSpyLogsElt); + // we replace instead of because we want to refresh the cache org.jenkinsci.plugins.pipeline.maven.publishers.MavenReport.getGeneratedArtifacts() - run.addOrReplaceAction(new MavenReport(run)); + run.addOrReplaceAction(new MavenReport(run, Collections.singletonList(mavenExecutionDetails))); } + + + @Symbol("mavenLinkerPublisher") @Extension public static class DescriptorImpl extends MavenPublisher.DescriptorImpl { diff --git a/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/publishers/MavenReport.java b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/publishers/MavenReport.java index 05e8d6ce..a6a5ff3a 100644 --- a/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/publishers/MavenReport.java +++ b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/publishers/MavenReport.java @@ -10,6 +10,8 @@ import org.jenkinsci.plugins.pipeline.maven.GlobalPipelineMavenConfig; import org.jenkinsci.plugins.pipeline.maven.MavenArtifact; import org.jenkinsci.plugins.pipeline.maven.MavenDependency; +import org.jenkinsci.plugins.pipeline.maven.model.MavenExecutionDetails; +import org.jenkinsci.plugins.pipeline.maven.model.MavenProjectExecutionDetails; import java.io.Serializable; import java.util.Collection; @@ -25,7 +27,6 @@ import javax.annotation.CheckForNull; import javax.annotation.Nonnull; -import javax.annotation.Nullable; /** * Maven report for the build. Intended to be extended. @@ -42,8 +43,11 @@ public class MavenReport implements RunAction2, SimpleBuildStep.LastBuildAction, private transient List generatedArtifacts; - public MavenReport(@Nonnull Run run) { + private List mavenExecutionDetails; + + public MavenReport(@Nonnull Run run, @Nonnull List mavenExecutionDetails) { this.run = run; + this.mavenExecutionDetails = mavenExecutionDetails; } @Override @@ -87,13 +91,18 @@ public synchronized Collection getDownstreamJobs() { } // security / authorization is checked by Jenkins#getItemByFullName try { - return Jenkins.getInstance().getItemByFullName(jobFullName, Job.class); + return Jenkins.get().getItemByFullName(jobFullName, Job.class); } catch (AccessDeniedException e) { return null; } }).filter(Objects::nonNull).collect(Collectors.toList()); } + + public List getMavenExecutionDetails() { + return this.mavenExecutionDetails; + } + public synchronized SortedMap> getDownstreamJobsByArtifact() { Map> downstreamJobsByArtifact = GlobalPipelineMavenConfig.get().getDao().listDownstreamJobsByArtifact(run.getParent().getFullName(), run.getNumber()); TreeMap> result = new TreeMap<>(); @@ -171,4 +180,5 @@ public String getDisplayName() { public String getUrlName() { return "maven"; } + } diff --git a/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/util/XmlUtils.java b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/util/XmlUtils.java index 572ad972..617c5c7c 100644 --- a/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/util/XmlUtils.java +++ b/jenkins-plugin/src/main/java/org/jenkinsci/plugins/pipeline/maven/util/XmlUtils.java @@ -65,14 +65,19 @@ public class XmlUtils { private static final Logger LOGGER = Logger.getLogger(XmlUtils.class.getName()); - public static MavenArtifact newMavenArtifact(Element artifactElt) { + @Nonnull + public static MavenArtifact newMavenArtifact(@Nonnull Element artifactElt) { + if (!artifactElt.hasAttribute("groupId") || !artifactElt.hasAttribute("artifactId") || !artifactElt.hasAttribute("version")) { + LOGGER.log(Level.WARNING, "Invalid artifact element " + XmlUtils.toString(artifactElt)); + } MavenArtifact mavenArtifact = new MavenArtifact(); loadMavenArtifact(artifactElt, mavenArtifact); return mavenArtifact; } - public static MavenDependency newMavenDependency(Element dependencyElt) { + @Nonnull + public static MavenDependency newMavenDependency(@Nonnull Element dependencyElt) { MavenDependency dependency = new MavenDependency(); loadMavenArtifact(dependencyElt, dependency); dependency.setScope(dependencyElt.getAttribute("scope")); @@ -81,7 +86,7 @@ public static MavenDependency newMavenDependency(Element dependencyElt) { return dependency; } - private static void loadMavenArtifact(Element artifactElt, MavenArtifact mavenArtifact) { + private static void loadMavenArtifact(@Nonnull Element artifactElt, @Nonnull MavenArtifact mavenArtifact) { mavenArtifact.setGroupId(artifactElt.getAttribute("groupId")); mavenArtifact.setArtifactId(artifactElt.getAttribute("artifactId")); mavenArtifact.setVersion(artifactElt.getAttribute("version")); @@ -102,9 +107,10 @@ private static void loadMavenArtifact(Element artifactElt, MavenArtifact mavenAr /* - - */ - public static MavenSpyLogProcessor.PluginInvocation newPluginInvocation(Element pluginInvocationElt) { + * + */ + @Nonnull + public static MavenSpyLogProcessor.PluginInvocation newPluginInvocation(@Nonnull Element pluginInvocationElt) { MavenSpyLogProcessor.PluginInvocation pluginInvocation = new MavenSpyLogProcessor.PluginInvocation(); pluginInvocation.groupId = pluginInvocationElt.getAttribute("groupId"); pluginInvocation.artifactId = pluginInvocationElt.getAttribute("artifactId"); diff --git a/jenkins-plugin/src/main/resources/org/jenkinsci/plugins/pipeline/maven/publishers/MavenReport/index.jelly b/jenkins-plugin/src/main/resources/org/jenkinsci/plugins/pipeline/maven/publishers/MavenReport/index.jelly index 03b144c9..3ac43042 100644 --- a/jenkins-plugin/src/main/resources/org/jenkinsci/plugins/pipeline/maven/publishers/MavenReport/index.jelly +++ b/jenkins-plugin/src/main/resources/org/jenkinsci/plugins/pipeline/maven/publishers/MavenReport/index.jelly @@ -86,6 +86,21 @@ Inspired by /hudson/tasks/Fingerprinter/FingerprintAction/index.jelly + +
    + +
  • + ${dependency.id} - ${dependency.type} - ${dependency.scope} +
  • +
    +
+ + Dependencies recorded according to the settings of the "Pipeline Graph Publisher" +
+ By default, only "snapshot" dependencies are recorded and "release" dependencies are ignored + to optimize the size on disk of the database of the "Pipeline Maven Plugin". +
+

Contributions to improve this dashboard are appreciated. Please feel free to submit a Pull Request or to diff --git a/jenkins-plugin/src/main/resources/org/jenkinsci/plugins/pipeline/maven/publishers/ModuleViewPublisher/config.jelly b/jenkins-plugin/src/main/resources/org/jenkinsci/plugins/pipeline/maven/publishers/ModuleViewPublisher/config.jelly new file mode 100644 index 00000000..637bc1d0 --- /dev/null +++ b/jenkins-plugin/src/main/resources/org/jenkinsci/plugins/pipeline/maven/publishers/ModuleViewPublisher/config.jelly @@ -0,0 +1,31 @@ + + + + + + + + diff --git a/jenkins-plugin/src/main/resources/org/jenkinsci/plugins/pipeline/maven/publishers/ModuleViewPublisher/help-disabled.html b/jenkins-plugin/src/main/resources/org/jenkinsci/plugins/pipeline/maven/publishers/ModuleViewPublisher/help-disabled.html new file mode 100644 index 00000000..fbbc8445 --- /dev/null +++ b/jenkins-plugin/src/main/resources/org/jenkinsci/plugins/pipeline/maven/publishers/ModuleViewPublisher/help-disabled.html @@ -0,0 +1,3 @@ +
+ Skip the publishing of maven build details. +
\ No newline at end of file diff --git a/jenkins-plugin/src/main/resources/org/jenkinsci/plugins/pipeline/maven/publishers/ModuleViewPublisher/help.html b/jenkins-plugin/src/main/resources/org/jenkinsci/plugins/pipeline/maven/publishers/ModuleViewPublisher/help.html new file mode 100644 index 00000000..7c4901cf --- /dev/null +++ b/jenkins-plugin/src/main/resources/org/jenkinsci/plugins/pipeline/maven/publishers/ModuleViewPublisher/help.html @@ -0,0 +1,3 @@ +
+ Publish Maven build details +
\ No newline at end of file diff --git a/jenkins-plugin/src/test/java/org/jenkinsci/plugins/pipeline/maven/DependencyFingerprintPublisherTest.java b/jenkins-plugin/src/test/java/org/jenkinsci/plugins/pipeline/maven/DependencyFingerprintPublisherTest.java index c812fa05..1060b80b 100644 --- a/jenkins-plugin/src/test/java/org/jenkinsci/plugins/pipeline/maven/DependencyFingerprintPublisherTest.java +++ b/jenkins-plugin/src/test/java/org/jenkinsci/plugins/pipeline/maven/DependencyFingerprintPublisherTest.java @@ -1,29 +1,11 @@ package org.jenkinsci.plugins.pipeline.maven; import hudson.model.Fingerprint; -import hudson.model.Job; import hudson.model.Result; -import hudson.tasks.Maven; -import jenkins.mvn.DefaultGlobalSettingsProvider; -import jenkins.mvn.DefaultSettingsProvider; -import jenkins.mvn.GlobalMavenConfig; -import jenkins.plugins.git.GitSampleRepoRule; -import jenkins.scm.impl.mock.GitSampleRepoRuleUtils; -import org.jenkinsci.Symbol; import org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition; import org.jenkinsci.plugins.workflow.job.WorkflowJob; -import org.jenkinsci.plugins.workflow.job.WorkflowRun; -import org.junit.Before; -import org.junit.ClassRule; -import org.junit.Rule; import org.junit.Test; -import org.jvnet.hudson.test.BuildWatcher; -import org.jvnet.hudson.test.ExtendedToolInstallations; -import org.jvnet.hudson.test.JenkinsRule; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; import java.util.Hashtable; import static org.hamcrest.CoreMatchers.*; diff --git a/jenkins-plugin/src/test/java/org/jenkinsci/plugins/pipeline/maven/MavenPublisherStrategyTest.java b/jenkins-plugin/src/test/java/org/jenkinsci/plugins/pipeline/maven/MavenPublisherStrategyTest.java index 84cb67bc..f280da5b 100644 --- a/jenkins-plugin/src/test/java/org/jenkinsci/plugins/pipeline/maven/MavenPublisherStrategyTest.java +++ b/jenkins-plugin/src/test/java/org/jenkinsci/plugins/pipeline/maven/MavenPublisherStrategyTest.java @@ -30,7 +30,7 @@ public void listMavenPublishers() throws Exception { ByteArrayOutputStream baos = new ByteArrayOutputStream(); List mavenPublishers = MavenPublisherStrategy.IMPLICIT.buildPublishersList(Collections.emptyList(), new StreamTaskListener(baos)); - Assert.assertThat(mavenPublishers.size(), CoreMatchers.is(12)); + Assert.assertThat(mavenPublishers.size(), CoreMatchers.is(13)); Map reportersByDescriptorId = new HashMap<>(); for(MavenPublisher mavenPublisher : mavenPublishers) { @@ -47,5 +47,6 @@ public void listMavenPublishers() throws Exception { assertThat(reportersByDescriptorId.containsKey(new JGivenTestsPublisher.DescriptorImpl().getId()), is(true)); assertThat(reportersByDescriptorId.containsKey(new MavenLinkerPublisher2.DescriptorImpl().getId()), is(true)); assertThat(reportersByDescriptorId.containsKey(new JacocoReportPublisher.DescriptorImpl().getId()), is(true)); + assertThat(reportersByDescriptorId.containsKey(new MavenBuildDetailsPublisher.DescriptorImpl().getId()), is(true)); } } diff --git a/jenkins-plugin/src/test/java/org/jenkinsci/plugins/pipeline/maven/model/ObjectFactoryTest.java b/jenkins-plugin/src/test/java/org/jenkinsci/plugins/pipeline/maven/model/ObjectFactoryTest.java new file mode 100644 index 00000000..aed603c2 --- /dev/null +++ b/jenkins-plugin/src/test/java/org/jenkinsci/plugins/pipeline/maven/model/ObjectFactoryTest.java @@ -0,0 +1,97 @@ +package org.jenkinsci.plugins.pipeline.maven.model; + +import org.hamcrest.Matchers; +import org.jenkinsci.plugins.pipeline.maven.publishers.MavenBuildDetailsPublisher; +import org.junit.Assert; +import org.junit.Test; +import org.w3c.dom.Document; + +import java.io.InputStream; +import java.util.List; +import java.util.SortedSet; + +import javax.xml.parsers.DocumentBuilderFactory; + +import static org.junit.Assert.*; + +/** + * @author Cyrille Le Clerc + */ +public class ObjectFactoryTest { + @Test + public void analyseMavenMojoExecutions_simple_jar_build() throws Exception { + + InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("org/jenkinsci/plugins/pipeline/maven/maven-spy-deploy-jar.xml"); + Document mavenBuildSpyLogs = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(in); + ObjectFactory objectFactory = new ObjectFactory(); + List mavenMojoExecutionDetails = objectFactory.analyseMavenMojoExecutions(mavenBuildSpyLogs.getDocumentElement()); + for (MavenMojoExecutionDetails mojoTimer : mavenMojoExecutionDetails) { + System.out.println(mojoTimer + " " + mojoTimer.getDuration()); + } + Assert.assertThat(mavenMojoExecutionDetails.size(), Matchers.is(10)); + } + + @Test + public void analyseMavenProjectExecutions_simple_jar_build() throws Exception { + + InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("org/jenkinsci/plugins/pipeline/maven/maven-spy-deploy-jar.xml"); + Document mavenBuildSpyLogs = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(in); + ObjectFactory objectFactory = new ObjectFactory(); + MavenExecutionDetails executionDetails = objectFactory.analyseMavenBuildExecution(mavenBuildSpyLogs.getDocumentElement()); + + Assert.assertThat(executionDetails.getMavenProjectExecutionDetails().size(), Matchers.is(1)); + MavenProjectExecutionDetails mavenProjectExecutionDetails = executionDetails.getMavenProjectExecutionDetails().first(); + System.out.println(mavenProjectExecutionDetails + " " + mavenProjectExecutionDetails.getDuration()); + + SortedSet mojoExecutionDetails = mavenProjectExecutionDetails.getMojoExecutionDetails(); + Assert.assertThat(mojoExecutionDetails.size(), Matchers.is(10)); + // TODO + + + + } + + @Test + public void analyseMavenMojoExecutions_multi_module_build() throws Exception { + + InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("org/jenkinsci/plugins/pipeline/maven/maven-spy-deploy-multi-module.xml"); + Document mavenBuildSpyLogs = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(in); + ObjectFactory objectFactory = new ObjectFactory(); + MavenExecutionDetails executionDetails = objectFactory.analyseMavenBuildExecution(mavenBuildSpyLogs.getDocumentElement()); + Assert.assertThat(executionDetails.getMavenProjectExecutionDetails().size(), Matchers.is(4)); + + for (MavenProjectExecutionDetails mavenProjectExecutionDetails : executionDetails.getMavenProjectExecutionDetails()) { + System.out.println(mavenProjectExecutionDetails + " " + mavenProjectExecutionDetails.getDuration()); + } + + System.out.println("****************"); + + System.out.println(executionDetails.getExecutionDurationDetails()); + } + +// @Test +// public void analyseMavenProjectExecutions_multi_module_build() throws Exception { +// +// InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("org/jenkinsci/plugins/pipeline/maven/maven-spy-deploy-multi-module.xml"); +// Document mavenBuildSpyLogs = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(in); +// ObjectFactory objectFactory = new ObjectFactory(); +// List mavenMojoExecutionDetails = objectFactory.analyseMavenMojoExecutions(mavenBuildSpyLogs.getDocumentElement()); +// +// for (MavenMojoExecutionDetails mojoTimer : mavenMojoExecutionDetails) { +// System.out.println(mojoTimer + " " + mojoTimer.getDuration()); +// +// for (MavenMojoExecutionDetails mojoTimer : mojoTimer.getTimers()) { +// System.out.println("\t" + mojoTimer + " " + mojoTimer.getDuration()); +// } +// } +// } + + @Test + public void process_multi_module_build() throws Exception { + + InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("org/jenkinsci/plugins/pipeline/maven/maven-spy-deploy-multi-module.xml"); + Document mavenBuildSpyLogs = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(in); + MavenBuildDetailsPublisher mavenBuildDetailsPublisher = new MavenBuildDetailsPublisher(); + mavenBuildDetailsPublisher.process(mavenBuildSpyLogs.getDocumentElement(), System.out); + } +} \ No newline at end of file diff --git a/jenkins-plugin/src/test/java/org/jenkinsci/plugins/pipeline/maven/publishers/MavenExecutionDetailsPublisherTest.java b/jenkins-plugin/src/test/java/org/jenkinsci/plugins/pipeline/maven/publishers/MavenExecutionDetailsPublisherTest.java new file mode 100644 index 00000000..0a323256 --- /dev/null +++ b/jenkins-plugin/src/test/java/org/jenkinsci/plugins/pipeline/maven/publishers/MavenExecutionDetailsPublisherTest.java @@ -0,0 +1,19 @@ +package org.jenkinsci.plugins.pipeline.maven.publishers; + +import org.hamcrest.Matchers; +import org.junit.Assert; +import org.junit.Test; +import org.w3c.dom.Document; + +import java.io.InputStream; +import java.util.List; + +import javax.xml.parsers.DocumentBuilderFactory; + +/** + * @author Cyrille Le Clerc + */ +public class MavenExecutionDetailsPublisherTest { + + +} \ No newline at end of file diff --git a/jenkins-plugin/src/test/resources/org/jenkinsci/plugins/pipeline/maven/maven-spy-deploy-multi-module.xml b/jenkins-plugin/src/test/resources/org/jenkinsci/plugins/pipeline/maven/maven-spy-deploy-multi-module.xml index 059778fe..d60d66bd 100644 --- a/jenkins-plugin/src/test/resources/org/jenkinsci/plugins/pipeline/maven/maven-spy-deploy-multi-module.xml +++ b/jenkins-plugin/src/test/resources/org/jenkinsci/plugins/pipeline/maven/maven-spy-deploy-multi-module.xml @@ -1,45 +1,161 @@ - - + + - - - - - /path/to/home/.m2/settings.xml - /path/to/maven/3.5.0/libexec/conf/settings.xml + + /path/to/.m2/settings.xml + /usr/local/Cellar/maven/3.6.1/libexec/conf/settings.xml - + /path/to/multi-module-maven-project/pom.xml - /path/to/maven/3.5.0/libexec/conf/settings.xml - /path/to/home/.m2/settings.xml + /usr/local/Cellar/maven/3.6.1/libexec/conf/settings.xml + /path/to/.m2/settings.xml /path/to/multi-module-maven-project - + - - + + - - + + + + + + + + + + ${project.build.directory} + ${maven.clean.excludeDefaultDirectories} + ${maven.clean.failOnError} + ${maven.clean.followSymLinks} + ${project.build.outputDirectory} + ${project.build.outputDirectory} + ${maven.clean.retryOnError} + ${maven.clean.skip} + ${project.build.testOutputDirectory} + ${maven.clean.verbose} + + + + + + + + ${project.build.directory} + ${maven.clean.excludeDefaultDirectories} + ${maven.clean.failOnError} + ${maven.clean.followSymLinks} + ${project.build.outputDirectory} + ${project.build.outputDirectory} + ${maven.clean.retryOnError} + ${maven.clean.skip} + ${project.build.testOutputDirectory} + ${maven.clean.verbose} + + + + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + - - + + - + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + ${project.artifact} ${project.attachedArtifacts} ${createChecksum} @@ -53,11 +169,11 @@ ${updateReleaseInfo} - - + + - + ${project.artifact} ${project.attachedArtifacts} ${createChecksum} @@ -71,11 +187,11 @@ ${updateReleaseInfo} - - + + - + ${altDeploymentRepository} ${altReleaseDeploymentRepository} ${altSnapshotDeploymentRepository} @@ -93,11 +209,15 @@ ${updateReleaseInfo} - - + + + + + + - + ${altDeploymentRepository} ${altReleaseDeploymentRepository} ${altSnapshotDeploymentRepository} @@ -114,85 +234,354 @@ ${maven.deploy.skip} ${updateReleaseInfo} + + nexus3.beescloud.com + https://nexus3.beescloud.com/repository/maven-snapshots/ + - - + + - + - - + + + + + + + + + + + + + + + + + + ${project.build.directory} + ${maven.clean.excludeDefaultDirectories} + ${maven.clean.failOnError} + ${maven.clean.followSymLinks} + ${project.build.outputDirectory} + ${project.build.outputDirectory} + ${maven.clean.retryOnError} + ${maven.clean.skip} + ${project.build.testOutputDirectory} + ${maven.clean.verbose} + + + + + + + + ${project.build.directory} + ${maven.clean.excludeDefaultDirectories} + ${maven.clean.failOnError} + ${maven.clean.followSymLinks} + ${project.build.outputDirectory} + ${project.build.outputDirectory} + ${maven.clean.retryOnError} + ${maven.clean.skip} + ${project.build.testOutputDirectory} + ${maven.clean.verbose} + + + + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + - - + + - + - - + + - + +
${jacoco.address}
+ ${jacoco.append} + ${jacoco.classDumpDir} + ${jacoco.destFile} + ${jacoco.dumpOnExit} + ${jacoco.exclClassLoaders} + ${jacoco.inclBootstrapClasses} + ${jacoco.inclNoLocationClasses} + ${jacoco.jmx} + ${jacoco.output} + ${plugin.artifactMap} + ${jacoco.port} + ${project} + ${jacoco.propertyName} + ${jacoco.sessionId} + ${jacoco.skip} +
+
+ + + + + +
${jacoco.address}
+ ${jacoco.append} + ${jacoco.classDumpDir} + ${jacoco.destFile} + ${jacoco.dumpOnExit} + ${jacoco.exclClassLoaders} + ${jacoco.inclBootstrapClasses} + ${jacoco.inclNoLocationClasses} + ${jacoco.jmx} + ${jacoco.output} + ${plugin.artifactMap} + ${jacoco.port} + ${project} + ${jacoco.propertyName} + ${jacoco.sessionId} + ${jacoco.skip} +
+
+ + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + +
${jacoco.address}
+ ${jacoco.append} + ${jacoco.classDumpDir} + ${jacoco.destFile} + ${jacoco.dumpOnExit} + ${jacoco.exclClassLoaders} + ${jacoco.inclBootstrapClasses} + ${jacoco.inclNoLocationClasses} + ${jacoco.jmx} + ${jacoco.output} + ${plugin.artifactMap} + ${jacoco.port} + ${project} + ${jacoco.propertyName} + ${jacoco.sessionId} + ${jacoco.skip} +
+
+ + + + + +
${jacoco.address}
+ ${jacoco.append} + ${jacoco.classDumpDir} + ${jacoco.destFile} + ${jacoco.dumpOnExit} + ${jacoco.exclClassLoaders} + ${jacoco.inclBootstrapClasses} + ${jacoco.inclNoLocationClasses} + ${jacoco.jmx} + ${jacoco.output} + ${plugin.artifactMap} + ${jacoco.port} + ${project} + ${jacoco.propertyName} + ${jacoco.sessionId} + ${jacoco.skip} +
+
+ + + + + + true ${project.build.filters} @ - ${encoding} - ${maven.resources.escapeString} - ${maven.resources.escapeWindowsPaths} - ${maven.resources.includeEmptyDirs} + ${project.build.sourceEncoding} + true + false + false ${project.build.outputDirectory} - ${maven.resources.overwrite} + false ${project} ${project.resources} ${session} - ${maven.resources.supportMultiLineFiltering} + ${maven.resources.skip} + false true false - - + + - + + true ${project.build.filters} @ - ${encoding} - ${maven.resources.escapeString} - ${maven.resources.escapeWindowsPaths} - ${maven.resources.includeEmptyDirs} + ${project.build.sourceEncoding} + true + false + false ${project.build.outputDirectory} - ${maven.resources.overwrite} + false ${project} ${project.resources} ${session} - ${maven.resources.supportMultiLineFiltering} + ${maven.resources.skip} + false true false - - + + - + ${basedir} ${project.build.directory} - ${project.compileClasspathElements} + ${project.compileClasspathElements} ${project.compileSourceRoots} ${maven.compiler.compilerId} ${maven.compiler.compilerReuseStrategy} @@ -202,6 +591,7 @@ ${encoding} ${maven.compiler.executable} ${maven.compiler.failOnError} + ${maven.compiler.failOnWarning} ${maven.compiler.forceJavacCompilerUse} ${maven.compiler.fork} ${project.build.directory}/generated-sources/annotations @@ -210,7 +600,11 @@ ${mojoExecution} ${maven.compiler.optimize} ${project.build.outputDirectory} + true + ${project} ${project.artifact} + ${maven.compiler.release} + ${session} ${maven.compiler.showDeprecation} ${maven.compiler.showWarnings} ${maven.main.skip} @@ -220,18 +614,16 @@ ${maven.compiler.target} ${maven.compiler.useIncrementalCompilation} ${maven.compiler.verbose} - ${session} - ${session} - - + + - + ${basedir} ${project.build.directory} - ${project.compileClasspathElements} + ${project.compileClasspathElements} ${project.compileSourceRoots} ${maven.compiler.compilerId} ${maven.compiler.compilerReuseStrategy} @@ -241,6 +633,7 @@ ${encoding} ${maven.compiler.executable} ${maven.compiler.failOnError} + ${maven.compiler.failOnWarning} ${maven.compiler.forceJavacCompilerUse} ${maven.compiler.fork} ${project.build.directory}/generated-sources/annotations @@ -249,7 +642,11 @@ ${mojoExecution} ${maven.compiler.optimize} ${project.build.outputDirectory} + true + ${project} ${project.artifact} + ${maven.compiler.release} + ${session} ${maven.compiler.showDeprecation} ${maven.compiler.showWarnings} ${maven.main.skip} @@ -259,66 +656,66 @@ ${maven.compiler.target} ${maven.compiler.useIncrementalCompilation} ${maven.compiler.verbose} - ${session} - ${session} - - + + - + + true ${project.build.filters} @ - ${encoding} - ${maven.resources.escapeString} - ${maven.resources.escapeWindowsPaths} - ${maven.resources.includeEmptyDirs} + ${project.build.sourceEncoding} + true + false + false ${project.build.testOutputDirectory} - ${maven.resources.overwrite} + false ${project} ${project.testResources} ${session} ${maven.test.skip} - ${maven.resources.supportMultiLineFiltering} + false true false - - + + - + + true ${project.build.filters} @ - ${encoding} - ${maven.resources.escapeString} - ${maven.resources.escapeWindowsPaths} - ${maven.resources.includeEmptyDirs} + ${project.build.sourceEncoding} + true + false + false ${project.build.testOutputDirectory} - ${maven.resources.overwrite} + false ${project} ${project.testResources} ${session} ${maven.test.skip} - ${maven.resources.supportMultiLineFiltering} + false true false - - + + - + ${basedir} ${project.build.directory} - ${project.testClasspathElements} + ${project.compileClasspathElements} ${project.testCompileSourceRoots} ${maven.compiler.compilerId} ${maven.compiler.compilerReuseStrategy} @@ -328,6 +725,7 @@ ${encoding} ${maven.compiler.executable} ${maven.compiler.failOnError} + ${maven.compiler.failOnWarning} ${maven.compiler.forceJavacCompilerUse} ${maven.compiler.fork} ${project.build.directory}/generated-test-sources/test-annotations @@ -336,6 +734,10 @@ ${mojoExecution} ${maven.compiler.optimize} ${project.build.testOutputDirectory} + true + ${project} + ${maven.compiler.release} + ${session} ${maven.compiler.showDeprecation} ${maven.compiler.showWarnings} ${maven.test.skip} @@ -343,22 +745,22 @@ ${maven.compiler.source} ${lastModGranularityMs} ${maven.compiler.target} + ${project.testClasspathElements} + ${maven.compiler.testRelease} ${maven.compiler.testSource} ${maven.compiler.testTarget} ${maven.compiler.useIncrementalCompilation} ${maven.compiler.verbose} - ${session} - ${session} - - + + - + ${basedir} ${project.build.directory} - ${project.testClasspathElements} + ${project.compileClasspathElements} ${project.testCompileSourceRoots} ${maven.compiler.compilerId} ${maven.compiler.compilerReuseStrategy} @@ -368,6 +770,7 @@ ${encoding} ${maven.compiler.executable} ${maven.compiler.failOnError} + ${maven.compiler.failOnWarning} ${maven.compiler.forceJavacCompilerUse} ${maven.compiler.fork} ${project.build.directory}/generated-test-sources/test-annotations @@ -376,6 +779,10 @@ ${mojoExecution} ${maven.compiler.optimize} ${project.build.testOutputDirectory} + true + ${project} + ${maven.compiler.release} + ${session} ${maven.compiler.showDeprecation} ${maven.compiler.showWarnings} ${maven.test.skip} @@ -383,19 +790,19 @@ ${maven.compiler.source} ${lastModGranularityMs} ${maven.compiler.target} + ${project.testClasspathElements} + ${maven.compiler.testRelease} ${maven.compiler.testSource} ${maven.compiler.testTarget} ${maven.compiler.useIncrementalCompilation} ${maven.compiler.verbose} - ${session} - ${session} - - + + - + ${maven.test.additionalClasspath} ${argLine} ${basedir} @@ -406,21 +813,19 @@ ${dependenciesToScan} ${disableXmlReport} ${enableAssertions} + ${surefire.encoding} ${excludedGroups} - - **/Abstract*.java - + ${surefire.excludesFile} ${surefire.failIfNoSpecifiedTests} ${failIfNoTests} ${forkCount} ${forkMode} + ${surefire.exitTimeout} ${surefire.timeout} ${groups} - - **/*Tests.java - **/*Test.java - + ${surefire.includesFile} ${junitArtifactName} + ${junitPlatformArtifactName} ${jvm} ${localRepository} ${objectFactory} @@ -434,6 +839,7 @@ ${plugin} ${surefire.printSummary} ${project.artifactMap} + ${project.build.directory} ${maven.test.redirectTestOutputToFile} ${project.pluginArtifactRepositories} ${surefire.reportFormat} @@ -442,10 +848,13 @@ ${surefire.rerunFailingTestsCount} ${reuseForks} ${surefire.runOrder} + ${surefire.shutdown} ${maven.test.skip} + ${surefire.skipAfterFailureCount} ${maven.test.skip.exec} ${skipTests} ${surefire.suiteXmlFiles} + ${tempDir} ${test} ${project.build.testOutputDirectory} ${maven.test.failure.ignore} @@ -465,19 +874,19 @@ ${session} - - + + - + ${project.build.directory}/surefire-reports - - + + - + ${start-class} @@ -485,31 +894,29 @@ ${project.build.outputDirectory} - ${maven.jar.classifier} - ${project.build.outputDirectory}/META-INF/MANIFEST.MF - ${jar.finalName} - ${jar.forceCreation} + ${project.build.finalName} + ${maven.jar.forceCreation} ${project.build.directory} ${project} ${session} - ${jar.skipIfEmpty} + false ${jar.useDefaultManifestFile} - - + + - - ${jar.finalName} + + ${project.build.finalName} ${project.build.directory} - - + + - + ${project.build.outputDirectory} ${project.compileSourceRoots} ${findbugs.debug} @@ -551,11 +958,11 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + ${project.build.outputDirectory} ${project.compileSourceRoots} ${findbugs.debug} @@ -597,16 +1004,8 @@ ${project.reporting.outputDirectory}/xref-test - - - - - - - - - - + + @@ -654,8 +1053,8 @@ ${project.reporting.outputDirectory}/xref-test - - + + @@ -703,11 +1102,11 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + ${project.build.outputDirectory} ${project.compileSourceRoots} ${findbugs.debug} @@ -749,11 +1148,11 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + ${project.build.outputDirectory} ${project.compileSourceRoots} ${findbugs.debug} @@ -795,11 +1194,11 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + ${project.build.outputDirectory} ${project.compileSourceRoots} ${findbugs.debug} @@ -841,11 +1240,11 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + ${project.build.outputDirectory} ${project.compileSourceRoots} ${findbugs.debug} @@ -887,11 +1286,11 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + ${project.artifact} ${project.attachedArtifacts} ${createChecksum} @@ -905,11 +1304,11 @@ ${updateReleaseInfo} - - + + - + ${project.artifact} ${project.attachedArtifacts} ${createChecksum} @@ -923,11 +1322,11 @@ ${updateReleaseInfo} - - + + - + ${altDeploymentRepository} ${altReleaseDeploymentRepository} ${altSnapshotDeploymentRepository} @@ -945,11 +1344,23 @@ ${updateReleaseInfo} - - + + + + + + + + + + + + + + - + ${altDeploymentRepository} ${altReleaseDeploymentRepository} ${altSnapshotDeploymentRepository} @@ -966,224 +1377,633 @@ ${maven.deploy.skip} ${updateReleaseInfo} + + nexus3.beescloud.com + https://nexus3.beescloud.com/repository/maven-snapshots/ + - - + + - - /path/to/multi-module-maven-project/shared-core/target/shared-core-0.0.29-SNAPSHOT.jar + + /path/to/multi-module-maven-project/shared-core/target/shared-core-0.0.30-SNAPSHOT.jar - + + + /path/to/multi-module-maven-project/shared-core/target/shared-core-0.0.30-SNAPSHOT-sources.jar + + - - + + + - - + + - + - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter-web/1.5.4.RELEASE/spring-boot-starter-web-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.1.6.RELEASE/spring-boot-starter-web-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter/2.1.6.RELEASE/spring-boot-starter-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/boot/spring-boot/2.1.6.RELEASE/spring-boot-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter/1.5.4.RELEASE/spring-boot-starter-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.1.6.RELEASE/spring-boot-autoconfigure-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot/1.5.4.RELEASE/spring-boot-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.1.6.RELEASE/spring-boot-starter-logging-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/1.5.4.RELEASE/spring-boot-autoconfigure-1.5.4.RELEASE.jar + + /path/to/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter-logging/1.5.4.RELEASE/spring-boot-starter-logging-1.5.4.RELEASE.jar + + /path/to/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar - - /path/to/home/.m2/repository/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar + + /path/to/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.11.2/log4j-to-slf4j-2.11.2.jar - - /path/to/home/.m2/repository/ch/qos/logback/logback-core/1.1.11/logback-core-1.1.11.jar + + /path/to/.m2/repository/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2.jar - - /path/to/home/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar + + /path/to/.m2/repository/org/slf4j/jul-to-slf4j/1.7.26/jul-to-slf4j-1.7.26.jar - - /path/to/home/.m2/repository/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar + + /path/to/.m2/repository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar - - /path/to/home/.m2/repository/org/slf4j/log4j-over-slf4j/1.7.25/log4j-over-slf4j-1.7.25.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.1.6.RELEASE/spring-boot-starter-json-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/1.5.4.RELEASE/spring-boot-starter-tomcat-1.5.4.RELEASE.jar + + /path/to/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.9.9/jackson-databind-2.9.9.jar - - /path/to/home/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/8.5.15/tomcat-embed-core-8.5.15.jar + + /path/to/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar - - /path/to/home/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/8.5.15/tomcat-embed-el-8.5.15.jar + + /path/to/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.9/jackson-core-2.9.9.jar - - /path/to/home/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.15/tomcat-embed-websocket-8.5.15.jar + + /path/to/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.9/jackson-datatype-jdk8-2.9.9.jar - - /path/to/home/.m2/repository/org/hibernate/hibernate-validator/5.3.5.Final/hibernate-validator-5.3.5.Final.jar + + /path/to/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.9/jackson-datatype-jsr310-2.9.9.jar - - /path/to/home/.m2/repository/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar + + /path/to/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.9/jackson-module-parameter-names-2.9.9.jar - - /path/to/home/.m2/repository/org/jboss/logging/jboss-logging/3.3.1.Final/jboss-logging-3.3.1.Final.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/2.1.6.RELEASE/spring-boot-starter-tomcat-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/com/fasterxml/classmate/1.3.3/classmate-1.3.3.jar + + /path/to/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.21/tomcat-embed-core-9.0.21.jar - - /path/to/home/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.8.8/jackson-databind-2.8.8.jar + + /path/to/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.21/tomcat-embed-el-9.0.21.jar - - /path/to/home/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0.jar + + /path/to/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.21/tomcat-embed-websocket-9.0.21.jar - - /path/to/home/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.8.8/jackson-core-2.8.8.jar + + /path/to/.m2/repository/org/hibernate/validator/hibernate-validator/6.0.17.Final/hibernate-validator-6.0.17.Final.jar - - /path/to/home/.m2/repository/org/springframework/spring-web/4.3.9.RELEASE/spring-web-4.3.9.RELEASE.jar + + /path/to/.m2/repository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar - - /path/to/home/.m2/repository/org/springframework/spring-aop/4.3.9.RELEASE/spring-aop-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar - - /path/to/home/.m2/repository/org/springframework/spring-beans/4.3.9.RELEASE/spring-beans-4.3.9.RELEASE.jar + + /path/to/.m2/repository/com/fasterxml/classmate/1.4.0/classmate-1.4.0.jar - - /path/to/home/.m2/repository/org/springframework/spring-context/4.3.9.RELEASE/spring-context-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-web/5.1.8.RELEASE/spring-web-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/spring-webmvc/4.3.9.RELEASE/spring-webmvc-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-beans/5.1.8.RELEASE/spring-beans-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/spring-expression/4.3.9.RELEASE/spring-expression-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-webmvc/5.1.8.RELEASE/spring-webmvc-5.1.8.RELEASE.jar - - /path/to/multi-module-maven-project/shared-core/target/shared-core-0.0.29-SNAPSHOT.jar + + /path/to/.m2/repository/org/springframework/spring-aop/5.1.8.RELEASE/spring-aop-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter-test/1.5.4.RELEASE/spring-boot-starter-test-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-context/5.1.8.RELEASE/spring-context-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-test/1.5.4.RELEASE/spring-boot-test-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-expression/5.1.8.RELEASE/spring-expression-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-test-autoconfigure/1.5.4.RELEASE/spring-boot-test-autoconfigure-1.5.4.RELEASE.jar + + /path/to/multi-module-maven-project/shared-core/target/shared-core-0.0.30-SNAPSHOT.jar - - /path/to/home/.m2/repository/com/jayway/jsonpath/json-path/2.2.0/json-path-2.2.0.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-test/2.1.6.RELEASE/spring-boot-starter-test-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/net/minidev/json-smart/2.2.1/json-smart-2.2.1.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-test/2.1.6.RELEASE/spring-boot-test-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/net/minidev/accessors-smart/1.1/accessors-smart-1.1.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-test-autoconfigure/2.1.6.RELEASE/spring-boot-test-autoconfigure-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar + + /path/to/.m2/repository/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.jar - - /path/to/home/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar + + /path/to/.m2/repository/net/minidev/json-smart/2.3/json-smart-2.3.jar + + + /path/to/.m2/repository/net/minidev/accessors-smart/1.2/accessors-smart-1.2.jar + + + /path/to/.m2/repository/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar + + + /path/to/.m2/repository/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26.jar - /path/to/home/.m2/repository/junit/junit/4.12/junit-4.12.jar + /path/to/.m2/repository/junit/junit/4.12/junit-4.12.jar + + + /path/to/.m2/repository/org/assertj/assertj-core/3.11.1/assertj-core-3.11.1.jar - - /path/to/home/.m2/repository/org/assertj/assertj-core/2.6.0/assertj-core-2.6.0.jar + + /path/to/.m2/repository/org/mockito/mockito-core/2.23.4/mockito-core-2.23.4.jar - - /path/to/home/.m2/repository/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19.jar + + /path/to/.m2/repository/net/bytebuddy/byte-buddy/1.9.13/byte-buddy-1.9.13.jar - - /path/to/home/.m2/repository/org/objenesis/objenesis/2.1/objenesis-2.1.jar + + /path/to/.m2/repository/net/bytebuddy/byte-buddy-agent/1.9.13/byte-buddy-agent-1.9.13.jar + + + /path/to/.m2/repository/org/objenesis/objenesis/2.6/objenesis-2.6.jar - /path/to/home/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar + /path/to/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar - /path/to/home/.m2/repository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar + /path/to/.m2/repository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar - - /path/to/home/.m2/repository/org/skyscreamer/jsonassert/1.4.0/jsonassert-1.4.0.jar + + /path/to/.m2/repository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar - /path/to/home/.m2/repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar + /path/to/.m2/repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar + + + /path/to/.m2/repository/org/springframework/spring-core/5.1.8.RELEASE/spring-core-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/spring-core/4.3.9.RELEASE/spring-core-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-jcl/5.1.8.RELEASE/spring-jcl-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/spring-test/4.3.9.RELEASE/spring-test-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-test/5.1.8.RELEASE/spring-test-5.1.8.RELEASE.jar + + + /path/to/.m2/repository/org/xmlunit/xmlunit-core/2.6.2/xmlunit-core-2.6.2.jar - - + + + + + + ${project.build.directory} + ${maven.clean.excludeDefaultDirectories} + ${maven.clean.failOnError} + ${maven.clean.followSymLinks} + ${project.build.outputDirectory} + ${project.build.outputDirectory} + ${maven.clean.retryOnError} + ${maven.clean.skip} + ${project.build.testOutputDirectory} + ${maven.clean.verbose} + + + + + + + + ${project.build.directory} + ${maven.clean.excludeDefaultDirectories} + ${maven.clean.failOnError} + ${maven.clean.followSymLinks} + ${project.build.outputDirectory} + ${project.build.outputDirectory} + ${maven.clean.retryOnError} + ${maven.clean.skip} + ${project.build.testOutputDirectory} + ${maven.clean.verbose} + + + + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + + + + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.1.6.RELEASE/spring-boot-starter-web-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter/2.1.6.RELEASE/spring-boot-starter-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/boot/spring-boot/2.1.6.RELEASE/spring-boot-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.1.6.RELEASE/spring-boot-autoconfigure-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.1.6.RELEASE/spring-boot-starter-logging-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar + + + /path/to/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar + + + /path/to/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.11.2/log4j-to-slf4j-2.11.2.jar + + + /path/to/.m2/repository/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2.jar + + + /path/to/.m2/repository/org/slf4j/jul-to-slf4j/1.7.26/jul-to-slf4j-1.7.26.jar + + + /path/to/.m2/repository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar + + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.1.6.RELEASE/spring-boot-starter-json-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.9.9/jackson-databind-2.9.9.jar + + + /path/to/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar + + + /path/to/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.9/jackson-core-2.9.9.jar + + + /path/to/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.9/jackson-datatype-jdk8-2.9.9.jar + + + /path/to/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.9/jackson-datatype-jsr310-2.9.9.jar + + + /path/to/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.9/jackson-module-parameter-names-2.9.9.jar + + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/2.1.6.RELEASE/spring-boot-starter-tomcat-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.21/tomcat-embed-core-9.0.21.jar + + + /path/to/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.21/tomcat-embed-el-9.0.21.jar + + + /path/to/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.21/tomcat-embed-websocket-9.0.21.jar + + + /path/to/.m2/repository/org/hibernate/validator/hibernate-validator/6.0.17.Final/hibernate-validator-6.0.17.Final.jar + + + /path/to/.m2/repository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar + + + /path/to/.m2/repository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar + + + /path/to/.m2/repository/com/fasterxml/classmate/1.4.0/classmate-1.4.0.jar + + + /path/to/.m2/repository/org/springframework/spring-web/5.1.8.RELEASE/spring-web-5.1.8.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/spring-beans/5.1.8.RELEASE/spring-beans-5.1.8.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/spring-webmvc/5.1.8.RELEASE/spring-webmvc-5.1.8.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/spring-aop/5.1.8.RELEASE/spring-aop-5.1.8.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/spring-context/5.1.8.RELEASE/spring-context-5.1.8.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/spring-expression/5.1.8.RELEASE/spring-expression-5.1.8.RELEASE.jar + + + /path/to/multi-module-maven-project/shared-core/target/shared-core-0.0.30-SNAPSHOT.jar + + + /path/to/.m2/repository/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26.jar + + + /path/to/.m2/repository/org/springframework/spring-core/5.1.8.RELEASE/spring-core-5.1.8.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/spring-jcl/5.1.8.RELEASE/spring-jcl-5.1.8.RELEASE.jar + + + + + + + + +
${jacoco.address}
+ ${jacoco.append} + ${jacoco.classDumpDir} + ${jacoco.destFile} + ${jacoco.dumpOnExit} + ${jacoco.exclClassLoaders} + ${jacoco.inclBootstrapClasses} + ${jacoco.inclNoLocationClasses} + ${jacoco.jmx} + ${jacoco.output} + ${plugin.artifactMap} + ${jacoco.port} + ${project} + ${jacoco.propertyName} + ${jacoco.sessionId} + ${jacoco.skip} +
+
+ + + + + +
${jacoco.address}
+ ${jacoco.append} + ${jacoco.classDumpDir} + ${jacoco.destFile} + ${jacoco.dumpOnExit} + ${jacoco.exclClassLoaders} + ${jacoco.inclBootstrapClasses} + ${jacoco.inclNoLocationClasses} + ${jacoco.jmx} + ${jacoco.output} + ${plugin.artifactMap} + ${jacoco.port} + ${project} + ${jacoco.propertyName} + ${jacoco.sessionId} + ${jacoco.skip} +
+
+ + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + +
${jacoco.address}
+ ${jacoco.append} + ${jacoco.classDumpDir} + ${jacoco.destFile} + ${jacoco.dumpOnExit} + ${jacoco.exclClassLoaders} + ${jacoco.inclBootstrapClasses} + ${jacoco.inclNoLocationClasses} + ${jacoco.jmx} + ${jacoco.output} + ${plugin.artifactMap} + ${jacoco.port} + ${project} + ${jacoco.propertyName} + ${jacoco.sessionId} + ${jacoco.skip} +
+
+ + + + + +
${jacoco.address}
+ ${jacoco.append} + ${jacoco.classDumpDir} + ${jacoco.destFile} + ${jacoco.dumpOnExit} + ${jacoco.exclClassLoaders} + ${jacoco.inclBootstrapClasses} + ${jacoco.inclNoLocationClasses} + ${jacoco.jmx} + ${jacoco.output} + ${plugin.artifactMap} + ${jacoco.port} + ${project} + ${jacoco.propertyName} + ${jacoco.sessionId} + ${jacoco.skip} +
+
+ + - + + true ${project.build.filters} @ - ${encoding} - ${maven.resources.escapeString} - ${maven.resources.escapeWindowsPaths} - ${maven.resources.includeEmptyDirs} + ${project.build.sourceEncoding} + true + false + false ${project.build.outputDirectory} - ${maven.resources.overwrite} + false ${project} ${project.resources} ${session} - ${maven.resources.supportMultiLineFiltering} + ${maven.resources.skip} + false true false - - + + - + + true ${project.build.filters} @ - ${encoding} - ${maven.resources.escapeString} - ${maven.resources.escapeWindowsPaths} - ${maven.resources.includeEmptyDirs} + ${project.build.sourceEncoding} + true + false + false ${project.build.outputDirectory} - ${maven.resources.overwrite} + false ${project} ${project.resources} ${session} - ${maven.resources.supportMultiLineFiltering} + ${maven.resources.skip} + false true false - - + + - + ${basedir} ${project.build.directory} - ${project.compileClasspathElements} + ${project.compileClasspathElements} ${project.compileSourceRoots} ${maven.compiler.compilerId} ${maven.compiler.compilerReuseStrategy} @@ -1193,6 +2013,7 @@ ${encoding} ${maven.compiler.executable} ${maven.compiler.failOnError} + ${maven.compiler.failOnWarning} ${maven.compiler.forceJavacCompilerUse} ${maven.compiler.fork} ${project.build.directory}/generated-sources/annotations @@ -1201,7 +2022,11 @@ ${mojoExecution} ${maven.compiler.optimize} ${project.build.outputDirectory} + true + ${project} ${project.artifact} + ${maven.compiler.release} + ${session} ${maven.compiler.showDeprecation} ${maven.compiler.showWarnings} ${maven.main.skip} @@ -1211,18 +2036,16 @@ ${maven.compiler.target} ${maven.compiler.useIncrementalCompilation} ${maven.compiler.verbose} - ${session} - ${session} - - + + - + ${basedir} ${project.build.directory} - ${project.compileClasspathElements} + ${project.compileClasspathElements} ${project.compileSourceRoots} ${maven.compiler.compilerId} ${maven.compiler.compilerReuseStrategy} @@ -1232,6 +2055,7 @@ ${encoding} ${maven.compiler.executable} ${maven.compiler.failOnError} + ${maven.compiler.failOnWarning} ${maven.compiler.forceJavacCompilerUse} ${maven.compiler.fork} ${project.build.directory}/generated-sources/annotations @@ -1240,7 +2064,11 @@ ${mojoExecution} ${maven.compiler.optimize} ${project.build.outputDirectory} + true + ${project} ${project.artifact} + ${maven.compiler.release} + ${session} ${maven.compiler.showDeprecation} ${maven.compiler.showWarnings} ${maven.main.skip} @@ -1250,66 +2078,66 @@ ${maven.compiler.target} ${maven.compiler.useIncrementalCompilation} ${maven.compiler.verbose} - ${session} - ${session} - - + + - + + true ${project.build.filters} @ - ${encoding} - ${maven.resources.escapeString} - ${maven.resources.escapeWindowsPaths} - ${maven.resources.includeEmptyDirs} + ${project.build.sourceEncoding} + true + false + false ${project.build.testOutputDirectory} - ${maven.resources.overwrite} + false ${project} ${project.testResources} ${session} ${maven.test.skip} - ${maven.resources.supportMultiLineFiltering} + false true false - - + + - + + true ${project.build.filters} @ - ${encoding} - ${maven.resources.escapeString} - ${maven.resources.escapeWindowsPaths} - ${maven.resources.includeEmptyDirs} + ${project.build.sourceEncoding} + true + false + false ${project.build.testOutputDirectory} - ${maven.resources.overwrite} + false ${project} ${project.testResources} ${session} ${maven.test.skip} - ${maven.resources.supportMultiLineFiltering} + false true false - - + + - + ${basedir} ${project.build.directory} - ${project.testClasspathElements} + ${project.compileClasspathElements} ${project.testCompileSourceRoots} ${maven.compiler.compilerId} ${maven.compiler.compilerReuseStrategy} @@ -1319,6 +2147,7 @@ ${encoding} ${maven.compiler.executable} ${maven.compiler.failOnError} + ${maven.compiler.failOnWarning} ${maven.compiler.forceJavacCompilerUse} ${maven.compiler.fork} ${project.build.directory}/generated-test-sources/test-annotations @@ -1327,6 +2156,10 @@ ${mojoExecution} ${maven.compiler.optimize} ${project.build.testOutputDirectory} + true + ${project} + ${maven.compiler.release} + ${session} ${maven.compiler.showDeprecation} ${maven.compiler.showWarnings} ${maven.test.skip} @@ -1334,22 +2167,22 @@ ${maven.compiler.source} ${lastModGranularityMs} ${maven.compiler.target} + ${project.testClasspathElements} + ${maven.compiler.testRelease} ${maven.compiler.testSource} ${maven.compiler.testTarget} ${maven.compiler.useIncrementalCompilation} ${maven.compiler.verbose} - ${session} - ${session} - - + + - + ${basedir} ${project.build.directory} - ${project.testClasspathElements} + ${project.compileClasspathElements} ${project.testCompileSourceRoots} ${maven.compiler.compilerId} ${maven.compiler.compilerReuseStrategy} @@ -1359,6 +2192,7 @@ ${encoding} ${maven.compiler.executable} ${maven.compiler.failOnError} + ${maven.compiler.failOnWarning} ${maven.compiler.forceJavacCompilerUse} ${maven.compiler.fork} ${project.build.directory}/generated-test-sources/test-annotations @@ -1367,6 +2201,10 @@ ${mojoExecution} ${maven.compiler.optimize} ${project.build.testOutputDirectory} + true + ${project} + ${maven.compiler.release} + ${session} ${maven.compiler.showDeprecation} ${maven.compiler.showWarnings} ${maven.test.skip} @@ -1374,19 +2212,19 @@ ${maven.compiler.source} ${lastModGranularityMs} ${maven.compiler.target} + ${project.testClasspathElements} + ${maven.compiler.testRelease} ${maven.compiler.testSource} ${maven.compiler.testTarget} ${maven.compiler.useIncrementalCompilation} ${maven.compiler.verbose} - ${session} - ${session} - - + + - + ${maven.test.additionalClasspath} ${argLine} ${basedir} @@ -1397,21 +2235,19 @@ ${dependenciesToScan} ${disableXmlReport} ${enableAssertions} + ${surefire.encoding} ${excludedGroups} - - **/Abstract*.java - + ${surefire.excludesFile} ${surefire.failIfNoSpecifiedTests} ${failIfNoTests} ${forkCount} ${forkMode} + ${surefire.exitTimeout} ${surefire.timeout} ${groups} - - **/*Tests.java - **/*Test.java - + ${surefire.includesFile} ${junitArtifactName} + ${junitPlatformArtifactName} ${jvm} ${localRepository} ${objectFactory} @@ -1425,6 +2261,7 @@ ${plugin} ${surefire.printSummary} ${project.artifactMap} + ${project.build.directory} ${maven.test.redirectTestOutputToFile} ${project.pluginArtifactRepositories} ${surefire.reportFormat} @@ -1433,10 +2270,13 @@ ${surefire.rerunFailingTestsCount} ${reuseForks} ${surefire.runOrder} + ${surefire.shutdown} ${maven.test.skip} + ${surefire.skipAfterFailureCount} ${maven.test.skip.exec} ${skipTests} ${surefire.suiteXmlFiles} + ${tempDir} ${test} ${project.build.testOutputDirectory} ${maven.test.failure.ignore} @@ -1456,19 +2296,19 @@ ${session} - - + + - + ${project.build.directory}/surefire-reports - - + + - + ${start-class} @@ -1476,67 +2316,67 @@ ${project.build.outputDirectory} - ${maven.jar.classifier} - ${project.build.outputDirectory}/META-INF/MANIFEST.MF - ${jar.finalName} - ${jar.forceCreation} + ${project.build.finalName} + ${maven.jar.forceCreation} ${project.build.directory} ${project} ${session} - ${jar.skipIfEmpty} + false ${jar.useDefaultManifestFile} - - + + - - ${jar.finalName} + + ${project.build.finalName} ${project.build.directory} - - + + - + true - ${excludeArtifactIds} true - ${excludeGroupIds} + ${spring-boot.excludeGroupIds} + ${spring-boot.excludes} false ${project.build.finalName} false + ${spring-boot.includes} ${start-class} ${project.build.directory} ${project} - ${skip} + ${spring-boot.repackage.skip} - - + + - + true - ${excludeArtifactIds} true - ${excludeGroupIds} + ${spring-boot.excludeGroupIds} + ${spring-boot.excludes} false ${project.build.finalName} false + ${spring-boot.includes} ${start-class} ${project.build.directory} ${project} - ${skip} + ${spring-boot.repackage.skip} - - + + - + ${project.build.outputDirectory} ${project.compileSourceRoots} ${findbugs.debug} @@ -1578,11 +2418,11 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + ${project.build.outputDirectory} ${project.compileSourceRoots} ${findbugs.debug} @@ -1624,155 +2464,182 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter-web/1.5.4.RELEASE/spring-boot-starter-web-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.1.6.RELEASE/spring-boot-starter-web-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter/1.5.4.RELEASE/spring-boot-starter-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter/2.1.6.RELEASE/spring-boot-starter-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot/1.5.4.RELEASE/spring-boot-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot/2.1.6.RELEASE/spring-boot-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/1.5.4.RELEASE/spring-boot-autoconfigure-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.1.6.RELEASE/spring-boot-autoconfigure-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter-logging/1.5.4.RELEASE/spring-boot-starter-logging-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.1.6.RELEASE/spring-boot-starter-logging-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar + + /path/to/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar - - /path/to/home/.m2/repository/ch/qos/logback/logback-core/1.1.11/logback-core-1.1.11.jar + + /path/to/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar - - /path/to/home/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar + + /path/to/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.11.2/log4j-to-slf4j-2.11.2.jar - - /path/to/home/.m2/repository/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar + + /path/to/.m2/repository/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2.jar - - /path/to/home/.m2/repository/org/slf4j/log4j-over-slf4j/1.7.25/log4j-over-slf4j-1.7.25.jar + + /path/to/.m2/repository/org/slf4j/jul-to-slf4j/1.7.26/jul-to-slf4j-1.7.26.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/1.5.4.RELEASE/spring-boot-starter-tomcat-1.5.4.RELEASE.jar + + /path/to/.m2/repository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar - - /path/to/home/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/8.5.15/tomcat-embed-core-8.5.15.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.1.6.RELEASE/spring-boot-starter-json-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/8.5.15/tomcat-embed-el-8.5.15.jar + + /path/to/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.9.9/jackson-databind-2.9.9.jar - - /path/to/home/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.15/tomcat-embed-websocket-8.5.15.jar + + /path/to/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar - - /path/to/home/.m2/repository/org/hibernate/hibernate-validator/5.3.5.Final/hibernate-validator-5.3.5.Final.jar + + /path/to/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.9/jackson-core-2.9.9.jar - - /path/to/home/.m2/repository/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar + + /path/to/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.9/jackson-datatype-jdk8-2.9.9.jar - - /path/to/home/.m2/repository/org/jboss/logging/jboss-logging/3.3.1.Final/jboss-logging-3.3.1.Final.jar + + /path/to/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.9/jackson-datatype-jsr310-2.9.9.jar - - /path/to/home/.m2/repository/com/fasterxml/classmate/1.3.3/classmate-1.3.3.jar + + /path/to/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.9/jackson-module-parameter-names-2.9.9.jar - - /path/to/home/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.8.8/jackson-databind-2.8.8.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/2.1.6.RELEASE/spring-boot-starter-tomcat-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0.jar + + /path/to/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.21/tomcat-embed-core-9.0.21.jar - - /path/to/home/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.8.8/jackson-core-2.8.8.jar + + /path/to/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.21/tomcat-embed-el-9.0.21.jar - - /path/to/home/.m2/repository/org/springframework/spring-web/4.3.9.RELEASE/spring-web-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.21/tomcat-embed-websocket-9.0.21.jar - - /path/to/home/.m2/repository/org/springframework/spring-aop/4.3.9.RELEASE/spring-aop-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/hibernate/validator/hibernate-validator/6.0.17.Final/hibernate-validator-6.0.17.Final.jar - - /path/to/home/.m2/repository/org/springframework/spring-beans/4.3.9.RELEASE/spring-beans-4.3.9.RELEASE.jar + + /path/to/.m2/repository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar - - /path/to/home/.m2/repository/org/springframework/spring-context/4.3.9.RELEASE/spring-context-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar - - /path/to/home/.m2/repository/org/springframework/spring-webmvc/4.3.9.RELEASE/spring-webmvc-4.3.9.RELEASE.jar + + /path/to/.m2/repository/com/fasterxml/classmate/1.4.0/classmate-1.4.0.jar - - /path/to/home/.m2/repository/org/springframework/spring-expression/4.3.9.RELEASE/spring-expression-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-web/5.1.8.RELEASE/spring-web-5.1.8.RELEASE.jar - - /path/to/multi-module-maven-project/shared-core/target/shared-core-0.0.29-SNAPSHOT.jar + + /path/to/.m2/repository/org/springframework/spring-beans/5.1.8.RELEASE/spring-beans-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter-test/1.5.4.RELEASE/spring-boot-starter-test-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-webmvc/5.1.8.RELEASE/spring-webmvc-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-test/1.5.4.RELEASE/spring-boot-test-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-aop/5.1.8.RELEASE/spring-aop-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-test-autoconfigure/1.5.4.RELEASE/spring-boot-test-autoconfigure-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-context/5.1.8.RELEASE/spring-context-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/com/jayway/jsonpath/json-path/2.2.0/json-path-2.2.0.jar + + /path/to/.m2/repository/org/springframework/spring-expression/5.1.8.RELEASE/spring-expression-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/net/minidev/json-smart/2.2.1/json-smart-2.2.1.jar + + /path/to/multi-module-maven-project/shared-core/target/shared-core-0.0.30-SNAPSHOT.jar - - /path/to/home/.m2/repository/net/minidev/accessors-smart/1.1/accessors-smart-1.1.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-test/2.1.6.RELEASE/spring-boot-starter-test-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-test/2.1.6.RELEASE/spring-boot-test-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-test-autoconfigure/2.1.6.RELEASE/spring-boot-test-autoconfigure-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.jar + + + /path/to/.m2/repository/net/minidev/json-smart/2.3/json-smart-2.3.jar + + + /path/to/.m2/repository/net/minidev/accessors-smart/1.2/accessors-smart-1.2.jar + + + /path/to/.m2/repository/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar + + + /path/to/.m2/repository/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26.jar - /path/to/home/.m2/repository/junit/junit/4.12/junit-4.12.jar + /path/to/.m2/repository/junit/junit/4.12/junit-4.12.jar + + + /path/to/.m2/repository/org/assertj/assertj-core/3.11.1/assertj-core-3.11.1.jar - - /path/to/home/.m2/repository/org/assertj/assertj-core/2.6.0/assertj-core-2.6.0.jar + + /path/to/.m2/repository/org/mockito/mockito-core/2.23.4/mockito-core-2.23.4.jar - - /path/to/home/.m2/repository/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19.jar + + /path/to/.m2/repository/net/bytebuddy/byte-buddy/1.9.13/byte-buddy-1.9.13.jar - - /path/to/home/.m2/repository/org/objenesis/objenesis/2.1/objenesis-2.1.jar + + /path/to/.m2/repository/net/bytebuddy/byte-buddy-agent/1.9.13/byte-buddy-agent-1.9.13.jar + + + /path/to/.m2/repository/org/objenesis/objenesis/2.6/objenesis-2.6.jar - /path/to/home/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar + /path/to/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar - /path/to/home/.m2/repository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar + /path/to/.m2/repository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar - - /path/to/home/.m2/repository/org/skyscreamer/jsonassert/1.4.0/jsonassert-1.4.0.jar + + /path/to/.m2/repository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar - /path/to/home/.m2/repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar + /path/to/.m2/repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar + + + /path/to/.m2/repository/org/springframework/spring-core/5.1.8.RELEASE/spring-core-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/spring-core/4.3.9.RELEASE/spring-core-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-jcl/5.1.8.RELEASE/spring-jcl-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/spring-test/4.3.9.RELEASE/spring-test-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-test/5.1.8.RELEASE/spring-test-5.1.8.RELEASE.jar + + + /path/to/.m2/repository/org/xmlunit/xmlunit-core/2.6.2/xmlunit-core-2.6.2.jar - - + + @@ -1820,8 +2687,8 @@ ${project.reporting.outputDirectory}/xref-test - - + + @@ -1869,11 +2736,11 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + ${project.build.outputDirectory} ${project.compileSourceRoots} ${findbugs.debug} @@ -1915,11 +2782,11 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + ${project.build.outputDirectory} ${project.compileSourceRoots} ${findbugs.debug} @@ -1961,11 +2828,11 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + ${project.build.outputDirectory} ${project.compileSourceRoots} ${findbugs.debug} @@ -2007,11 +2874,11 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + ${project.build.outputDirectory} ${project.compileSourceRoots} ${findbugs.debug} @@ -2053,11 +2920,11 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + ${project.artifact} ${project.attachedArtifacts} ${createChecksum} @@ -2071,11 +2938,11 @@ ${updateReleaseInfo} - - + + - + ${project.artifact} ${project.attachedArtifacts} ${createChecksum} @@ -2089,11 +2956,11 @@ ${updateReleaseInfo} - - + + - + ${altDeploymentRepository} ${altReleaseDeploymentRepository} ${altSnapshotDeploymentRepository} @@ -2111,11 +2978,23 @@ ${updateReleaseInfo} - - + + + + + + + + + + + + + + - + ${altDeploymentRepository} ${altReleaseDeploymentRepository} ${altSnapshotDeploymentRepository} @@ -2132,224 +3011,633 @@ ${maven.deploy.skip} ${updateReleaseInfo} + + nexus3.beescloud.com + https://nexus3.beescloud.com/repository/maven-snapshots/ + - - + + - - /path/to/multi-module-maven-project/demo-1/target/demo-1-0.0.29-SNAPSHOT.jar + + /path/to/multi-module-maven-project/demo-1/target/demo-1-0.0.30-SNAPSHOT.jar - + + + /path/to/multi-module-maven-project/demo-1/target/demo-1-0.0.30-SNAPSHOT-sources.jar + + - - + + + - - + + - + - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter-web/1.5.4.RELEASE/spring-boot-starter-web-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.1.6.RELEASE/spring-boot-starter-web-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter/2.1.6.RELEASE/spring-boot-starter-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/boot/spring-boot/2.1.6.RELEASE/spring-boot-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter/1.5.4.RELEASE/spring-boot-starter-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.1.6.RELEASE/spring-boot-autoconfigure-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot/1.5.4.RELEASE/spring-boot-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.1.6.RELEASE/spring-boot-starter-logging-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/1.5.4.RELEASE/spring-boot-autoconfigure-1.5.4.RELEASE.jar + + /path/to/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter-logging/1.5.4.RELEASE/spring-boot-starter-logging-1.5.4.RELEASE.jar + + /path/to/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar - - /path/to/home/.m2/repository/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar + + /path/to/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.11.2/log4j-to-slf4j-2.11.2.jar - - /path/to/home/.m2/repository/ch/qos/logback/logback-core/1.1.11/logback-core-1.1.11.jar + + /path/to/.m2/repository/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2.jar - - /path/to/home/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar + + /path/to/.m2/repository/org/slf4j/jul-to-slf4j/1.7.26/jul-to-slf4j-1.7.26.jar - - /path/to/home/.m2/repository/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar + + /path/to/.m2/repository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar - - /path/to/home/.m2/repository/org/slf4j/log4j-over-slf4j/1.7.25/log4j-over-slf4j-1.7.25.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.1.6.RELEASE/spring-boot-starter-json-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/1.5.4.RELEASE/spring-boot-starter-tomcat-1.5.4.RELEASE.jar + + /path/to/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.9.9/jackson-databind-2.9.9.jar - - /path/to/home/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/8.5.15/tomcat-embed-core-8.5.15.jar + + /path/to/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar - - /path/to/home/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/8.5.15/tomcat-embed-el-8.5.15.jar + + /path/to/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.9/jackson-core-2.9.9.jar - - /path/to/home/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.15/tomcat-embed-websocket-8.5.15.jar + + /path/to/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.9/jackson-datatype-jdk8-2.9.9.jar - - /path/to/home/.m2/repository/org/hibernate/hibernate-validator/5.3.5.Final/hibernate-validator-5.3.5.Final.jar + + /path/to/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.9/jackson-datatype-jsr310-2.9.9.jar - - /path/to/home/.m2/repository/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar + + /path/to/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.9/jackson-module-parameter-names-2.9.9.jar - - /path/to/home/.m2/repository/org/jboss/logging/jboss-logging/3.3.1.Final/jboss-logging-3.3.1.Final.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/2.1.6.RELEASE/spring-boot-starter-tomcat-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/com/fasterxml/classmate/1.3.3/classmate-1.3.3.jar + + /path/to/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.21/tomcat-embed-core-9.0.21.jar - - /path/to/home/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.8.8/jackson-databind-2.8.8.jar + + /path/to/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.21/tomcat-embed-el-9.0.21.jar - - /path/to/home/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0.jar + + /path/to/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.21/tomcat-embed-websocket-9.0.21.jar - - /path/to/home/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.8.8/jackson-core-2.8.8.jar + + /path/to/.m2/repository/org/hibernate/validator/hibernate-validator/6.0.17.Final/hibernate-validator-6.0.17.Final.jar - - /path/to/home/.m2/repository/org/springframework/spring-web/4.3.9.RELEASE/spring-web-4.3.9.RELEASE.jar + + /path/to/.m2/repository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar - - /path/to/home/.m2/repository/org/springframework/spring-aop/4.3.9.RELEASE/spring-aop-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar - - /path/to/home/.m2/repository/org/springframework/spring-beans/4.3.9.RELEASE/spring-beans-4.3.9.RELEASE.jar + + /path/to/.m2/repository/com/fasterxml/classmate/1.4.0/classmate-1.4.0.jar - - /path/to/home/.m2/repository/org/springframework/spring-context/4.3.9.RELEASE/spring-context-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-web/5.1.8.RELEASE/spring-web-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/spring-webmvc/4.3.9.RELEASE/spring-webmvc-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-beans/5.1.8.RELEASE/spring-beans-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/spring-expression/4.3.9.RELEASE/spring-expression-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-webmvc/5.1.8.RELEASE/spring-webmvc-5.1.8.RELEASE.jar - - /path/to/multi-module-maven-project/shared-core/target/shared-core-0.0.29-SNAPSHOT.jar + + /path/to/.m2/repository/org/springframework/spring-aop/5.1.8.RELEASE/spring-aop-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter-test/1.5.4.RELEASE/spring-boot-starter-test-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-context/5.1.8.RELEASE/spring-context-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-test/1.5.4.RELEASE/spring-boot-test-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-expression/5.1.8.RELEASE/spring-expression-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-test-autoconfigure/1.5.4.RELEASE/spring-boot-test-autoconfigure-1.5.4.RELEASE.jar + + /path/to/multi-module-maven-project/shared-core/target/shared-core-0.0.30-SNAPSHOT.jar - - /path/to/home/.m2/repository/com/jayway/jsonpath/json-path/2.2.0/json-path-2.2.0.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-test/2.1.6.RELEASE/spring-boot-starter-test-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/net/minidev/json-smart/2.2.1/json-smart-2.2.1.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-test/2.1.6.RELEASE/spring-boot-test-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/net/minidev/accessors-smart/1.1/accessors-smart-1.1.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-test-autoconfigure/2.1.6.RELEASE/spring-boot-test-autoconfigure-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar + + /path/to/.m2/repository/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.jar - - /path/to/home/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar + + /path/to/.m2/repository/net/minidev/json-smart/2.3/json-smart-2.3.jar + + + /path/to/.m2/repository/net/minidev/accessors-smart/1.2/accessors-smart-1.2.jar + + + /path/to/.m2/repository/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar + + + /path/to/.m2/repository/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26.jar - /path/to/home/.m2/repository/junit/junit/4.12/junit-4.12.jar + /path/to/.m2/repository/junit/junit/4.12/junit-4.12.jar + + + /path/to/.m2/repository/org/assertj/assertj-core/3.11.1/assertj-core-3.11.1.jar - - /path/to/home/.m2/repository/org/assertj/assertj-core/2.6.0/assertj-core-2.6.0.jar + + /path/to/.m2/repository/org/mockito/mockito-core/2.23.4/mockito-core-2.23.4.jar - - /path/to/home/.m2/repository/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19.jar + + /path/to/.m2/repository/net/bytebuddy/byte-buddy/1.9.13/byte-buddy-1.9.13.jar - - /path/to/home/.m2/repository/org/objenesis/objenesis/2.1/objenesis-2.1.jar + + /path/to/.m2/repository/net/bytebuddy/byte-buddy-agent/1.9.13/byte-buddy-agent-1.9.13.jar + + + /path/to/.m2/repository/org/objenesis/objenesis/2.6/objenesis-2.6.jar - /path/to/home/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar + /path/to/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar - /path/to/home/.m2/repository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar + /path/to/.m2/repository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar - - /path/to/home/.m2/repository/org/skyscreamer/jsonassert/1.4.0/jsonassert-1.4.0.jar + + /path/to/.m2/repository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar - /path/to/home/.m2/repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar + /path/to/.m2/repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar + + + /path/to/.m2/repository/org/springframework/spring-core/5.1.8.RELEASE/spring-core-5.1.8.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/spring-jcl/5.1.8.RELEASE/spring-jcl-5.1.8.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/spring-test/5.1.8.RELEASE/spring-test-5.1.8.RELEASE.jar + + + /path/to/.m2/repository/org/xmlunit/xmlunit-core/2.6.2/xmlunit-core-2.6.2.jar + + + + + + + + + ${project.build.directory} + ${maven.clean.excludeDefaultDirectories} + ${maven.clean.failOnError} + ${maven.clean.followSymLinks} + ${project.build.outputDirectory} + ${project.build.outputDirectory} + ${maven.clean.retryOnError} + ${maven.clean.skip} + ${project.build.testOutputDirectory} + ${maven.clean.verbose} + + + + + + + + ${project.build.directory} + ${maven.clean.excludeDefaultDirectories} + ${maven.clean.failOnError} + ${maven.clean.followSymLinks} + ${project.build.outputDirectory} + ${project.build.outputDirectory} + ${maven.clean.retryOnError} + ${maven.clean.skip} + ${project.build.testOutputDirectory} + ${maven.clean.verbose} + + + + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + + + + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.1.6.RELEASE/spring-boot-starter-web-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter/2.1.6.RELEASE/spring-boot-starter-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/boot/spring-boot/2.1.6.RELEASE/spring-boot-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.1.6.RELEASE/spring-boot-autoconfigure-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.1.6.RELEASE/spring-boot-starter-logging-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar + + + /path/to/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar + + + /path/to/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.11.2/log4j-to-slf4j-2.11.2.jar + + + /path/to/.m2/repository/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2.jar + + + /path/to/.m2/repository/org/slf4j/jul-to-slf4j/1.7.26/jul-to-slf4j-1.7.26.jar + + + /path/to/.m2/repository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar + + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.1.6.RELEASE/spring-boot-starter-json-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.9.9/jackson-databind-2.9.9.jar + + + /path/to/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar + + + /path/to/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.9/jackson-core-2.9.9.jar + + + /path/to/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.9/jackson-datatype-jdk8-2.9.9.jar + + + /path/to/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.9/jackson-datatype-jsr310-2.9.9.jar + + + /path/to/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.9/jackson-module-parameter-names-2.9.9.jar + + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/2.1.6.RELEASE/spring-boot-starter-tomcat-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.21/tomcat-embed-core-9.0.21.jar + + + /path/to/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.21/tomcat-embed-el-9.0.21.jar + + + /path/to/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.21/tomcat-embed-websocket-9.0.21.jar + + + /path/to/.m2/repository/org/hibernate/validator/hibernate-validator/6.0.17.Final/hibernate-validator-6.0.17.Final.jar + + + /path/to/.m2/repository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar + + + /path/to/.m2/repository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar + + + /path/to/.m2/repository/com/fasterxml/classmate/1.4.0/classmate-1.4.0.jar + + + /path/to/.m2/repository/org/springframework/spring-web/5.1.8.RELEASE/spring-web-5.1.8.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/spring-beans/5.1.8.RELEASE/spring-beans-5.1.8.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/spring-webmvc/5.1.8.RELEASE/spring-webmvc-5.1.8.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/spring-aop/5.1.8.RELEASE/spring-aop-5.1.8.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/spring-context/5.1.8.RELEASE/spring-context-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/spring-core/4.3.9.RELEASE/spring-core-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-expression/5.1.8.RELEASE/spring-expression-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/spring-test/4.3.9.RELEASE/spring-test-4.3.9.RELEASE.jar + + /path/to/multi-module-maven-project/shared-core/target/shared-core-0.0.30-SNAPSHOT.jar + + + /path/to/.m2/repository/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26.jar + + + /path/to/.m2/repository/org/springframework/spring-core/5.1.8.RELEASE/spring-core-5.1.8.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/spring-jcl/5.1.8.RELEASE/spring-jcl-5.1.8.RELEASE.jar - - + + + + + +
${jacoco.address}
+ ${jacoco.append} + ${jacoco.classDumpDir} + ${jacoco.destFile} + ${jacoco.dumpOnExit} + ${jacoco.exclClassLoaders} + ${jacoco.inclBootstrapClasses} + ${jacoco.inclNoLocationClasses} + ${jacoco.jmx} + ${jacoco.output} + ${plugin.artifactMap} + ${jacoco.port} + ${project} + ${jacoco.propertyName} + ${jacoco.sessionId} + ${jacoco.skip} +
+
+ + + + + +
${jacoco.address}
+ ${jacoco.append} + ${jacoco.classDumpDir} + ${jacoco.destFile} + ${jacoco.dumpOnExit} + ${jacoco.exclClassLoaders} + ${jacoco.inclBootstrapClasses} + ${jacoco.inclNoLocationClasses} + ${jacoco.jmx} + ${jacoco.output} + ${plugin.artifactMap} + ${jacoco.port} + ${project} + ${jacoco.propertyName} + ${jacoco.sessionId} + ${jacoco.skip} +
+
+ + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + + ${maven.source.attach} + ${maven.source.classifier} + ${project.build.outputDirectory}/META-INF/MANIFEST.MF + ${maven.source.excludeResources} + ${project.build.finalName} + ${maven.source.forceCreation} + ${maven.source.includePom} + ${project.build.directory} + ${project} + ${reactorProjects} + ${session} + ${maven.source.skip} + ${maven.source.useDefaultExcludes} + ${maven.source.useDefaultManifestFile} + + + + + + + +
${jacoco.address}
+ ${jacoco.append} + ${jacoco.classDumpDir} + ${jacoco.destFile} + ${jacoco.dumpOnExit} + ${jacoco.exclClassLoaders} + ${jacoco.inclBootstrapClasses} + ${jacoco.inclNoLocationClasses} + ${jacoco.jmx} + ${jacoco.output} + ${plugin.artifactMap} + ${jacoco.port} + ${project} + ${jacoco.propertyName} + ${jacoco.sessionId} + ${jacoco.skip} +
+
+ + + + + +
${jacoco.address}
+ ${jacoco.append} + ${jacoco.classDumpDir} + ${jacoco.destFile} + ${jacoco.dumpOnExit} + ${jacoco.exclClassLoaders} + ${jacoco.inclBootstrapClasses} + ${jacoco.inclNoLocationClasses} + ${jacoco.jmx} + ${jacoco.output} + ${plugin.artifactMap} + ${jacoco.port} + ${project} + ${jacoco.propertyName} + ${jacoco.sessionId} + ${jacoco.skip} +
+
+ + - + + true ${project.build.filters} @ - ${encoding} - ${maven.resources.escapeString} - ${maven.resources.escapeWindowsPaths} - ${maven.resources.includeEmptyDirs} + ${project.build.sourceEncoding} + true + false + false ${project.build.outputDirectory} - ${maven.resources.overwrite} + false ${project} ${project.resources} ${session} - ${maven.resources.supportMultiLineFiltering} + ${maven.resources.skip} + false true false - - + + - + + true ${project.build.filters} @ - ${encoding} - ${maven.resources.escapeString} - ${maven.resources.escapeWindowsPaths} - ${maven.resources.includeEmptyDirs} + ${project.build.sourceEncoding} + true + false + false ${project.build.outputDirectory} - ${maven.resources.overwrite} + false ${project} ${project.resources} ${session} - ${maven.resources.supportMultiLineFiltering} + ${maven.resources.skip} + false true false - - + + - + ${basedir} ${project.build.directory} - ${project.compileClasspathElements} + ${project.compileClasspathElements} ${project.compileSourceRoots} ${maven.compiler.compilerId} ${maven.compiler.compilerReuseStrategy} @@ -2359,6 +3647,7 @@ ${encoding} ${maven.compiler.executable} ${maven.compiler.failOnError} + ${maven.compiler.failOnWarning} ${maven.compiler.forceJavacCompilerUse} ${maven.compiler.fork} ${project.build.directory}/generated-sources/annotations @@ -2367,7 +3656,11 @@ ${mojoExecution} ${maven.compiler.optimize} ${project.build.outputDirectory} + true + ${project} ${project.artifact} + ${maven.compiler.release} + ${session} ${maven.compiler.showDeprecation} ${maven.compiler.showWarnings} ${maven.main.skip} @@ -2377,18 +3670,16 @@ ${maven.compiler.target} ${maven.compiler.useIncrementalCompilation} ${maven.compiler.verbose} - ${session} - ${session} - - + + - + ${basedir} ${project.build.directory} - ${project.compileClasspathElements} + ${project.compileClasspathElements} ${project.compileSourceRoots} ${maven.compiler.compilerId} ${maven.compiler.compilerReuseStrategy} @@ -2398,6 +3689,7 @@ ${encoding} ${maven.compiler.executable} ${maven.compiler.failOnError} + ${maven.compiler.failOnWarning} ${maven.compiler.forceJavacCompilerUse} ${maven.compiler.fork} ${project.build.directory}/generated-sources/annotations @@ -2406,7 +3698,11 @@ ${mojoExecution} ${maven.compiler.optimize} ${project.build.outputDirectory} + true + ${project} ${project.artifact} + ${maven.compiler.release} + ${session} ${maven.compiler.showDeprecation} ${maven.compiler.showWarnings} ${maven.main.skip} @@ -2416,66 +3712,66 @@ ${maven.compiler.target} ${maven.compiler.useIncrementalCompilation} ${maven.compiler.verbose} - ${session} - ${session} - - + + - + + true ${project.build.filters} @ - ${encoding} - ${maven.resources.escapeString} - ${maven.resources.escapeWindowsPaths} - ${maven.resources.includeEmptyDirs} + ${project.build.sourceEncoding} + true + false + false ${project.build.testOutputDirectory} - ${maven.resources.overwrite} + false ${project} ${project.testResources} ${session} ${maven.test.skip} - ${maven.resources.supportMultiLineFiltering} + false true false - - + + - + + true ${project.build.filters} @ - ${encoding} - ${maven.resources.escapeString} - ${maven.resources.escapeWindowsPaths} - ${maven.resources.includeEmptyDirs} + ${project.build.sourceEncoding} + true + false + false ${project.build.testOutputDirectory} - ${maven.resources.overwrite} + false ${project} ${project.testResources} ${session} ${maven.test.skip} - ${maven.resources.supportMultiLineFiltering} + false true false - - + + - + ${basedir} ${project.build.directory} - ${project.testClasspathElements} + ${project.compileClasspathElements} ${project.testCompileSourceRoots} ${maven.compiler.compilerId} ${maven.compiler.compilerReuseStrategy} @@ -2485,6 +3781,7 @@ ${encoding} ${maven.compiler.executable} ${maven.compiler.failOnError} + ${maven.compiler.failOnWarning} ${maven.compiler.forceJavacCompilerUse} ${maven.compiler.fork} ${project.build.directory}/generated-test-sources/test-annotations @@ -2493,6 +3790,10 @@ ${mojoExecution} ${maven.compiler.optimize} ${project.build.testOutputDirectory} + true + ${project} + ${maven.compiler.release} + ${session} ${maven.compiler.showDeprecation} ${maven.compiler.showWarnings} ${maven.test.skip} @@ -2500,22 +3801,22 @@ ${maven.compiler.source} ${lastModGranularityMs} ${maven.compiler.target} + ${project.testClasspathElements} + ${maven.compiler.testRelease} ${maven.compiler.testSource} ${maven.compiler.testTarget} ${maven.compiler.useIncrementalCompilation} ${maven.compiler.verbose} - ${session} - ${session} - - + + - + ${basedir} ${project.build.directory} - ${project.testClasspathElements} + ${project.compileClasspathElements} ${project.testCompileSourceRoots} ${maven.compiler.compilerId} ${maven.compiler.compilerReuseStrategy} @@ -2525,6 +3826,7 @@ ${encoding} ${maven.compiler.executable} ${maven.compiler.failOnError} + ${maven.compiler.failOnWarning} ${maven.compiler.forceJavacCompilerUse} ${maven.compiler.fork} ${project.build.directory}/generated-test-sources/test-annotations @@ -2533,6 +3835,10 @@ ${mojoExecution} ${maven.compiler.optimize} ${project.build.testOutputDirectory} + true + ${project} + ${maven.compiler.release} + ${session} ${maven.compiler.showDeprecation} ${maven.compiler.showWarnings} ${maven.test.skip} @@ -2540,19 +3846,19 @@ ${maven.compiler.source} ${lastModGranularityMs} ${maven.compiler.target} + ${project.testClasspathElements} + ${maven.compiler.testRelease} ${maven.compiler.testSource} ${maven.compiler.testTarget} ${maven.compiler.useIncrementalCompilation} ${maven.compiler.verbose} - ${session} - ${session} - - + + - + ${maven.test.additionalClasspath} ${argLine} ${basedir} @@ -2563,21 +3869,19 @@ ${dependenciesToScan} ${disableXmlReport} ${enableAssertions} + ${surefire.encoding} ${excludedGroups} - - **/Abstract*.java - + ${surefire.excludesFile} ${surefire.failIfNoSpecifiedTests} ${failIfNoTests} ${forkCount} ${forkMode} + ${surefire.exitTimeout} ${surefire.timeout} ${groups} - - **/*Tests.java - **/*Test.java - + ${surefire.includesFile} ${junitArtifactName} + ${junitPlatformArtifactName} ${jvm} ${localRepository} ${objectFactory} @@ -2591,6 +3895,7 @@ ${plugin} ${surefire.printSummary} ${project.artifactMap} + ${project.build.directory} ${maven.test.redirectTestOutputToFile} ${project.pluginArtifactRepositories} ${surefire.reportFormat} @@ -2599,10 +3904,13 @@ ${surefire.rerunFailingTestsCount} ${reuseForks} ${surefire.runOrder} + ${surefire.shutdown} ${maven.test.skip} + ${surefire.skipAfterFailureCount} ${maven.test.skip.exec} ${skipTests} ${surefire.suiteXmlFiles} + ${tempDir} ${test} ${project.build.testOutputDirectory} ${maven.test.failure.ignore} @@ -2622,19 +3930,19 @@ ${session} - - + + - + ${project.build.directory}/surefire-reports - - + + - + ${start-class} @@ -2642,67 +3950,67 @@ ${project.build.outputDirectory} - ${maven.jar.classifier} - ${project.build.outputDirectory}/META-INF/MANIFEST.MF - ${jar.finalName} - ${jar.forceCreation} + ${project.build.finalName} + ${maven.jar.forceCreation} ${project.build.directory} ${project} ${session} - ${jar.skipIfEmpty} + false ${jar.useDefaultManifestFile} - - + + - - ${jar.finalName} + + ${project.build.finalName} ${project.build.directory} - - + + - + true - ${excludeArtifactIds} true - ${excludeGroupIds} + ${spring-boot.excludeGroupIds} + ${spring-boot.excludes} false ${project.build.finalName} false + ${spring-boot.includes} ${start-class} ${project.build.directory} ${project} - ${skip} + ${spring-boot.repackage.skip} - - + + - + true - ${excludeArtifactIds} true - ${excludeGroupIds} + ${spring-boot.excludeGroupIds} + ${spring-boot.excludes} false ${project.build.finalName} false + ${spring-boot.includes} ${start-class} ${project.build.directory} ${project} - ${skip} + ${spring-boot.repackage.skip} - - + + - + ${project.build.outputDirectory} ${project.compileSourceRoots} ${findbugs.debug} @@ -2744,11 +4052,11 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + ${project.build.outputDirectory} ${project.compileSourceRoots} ${findbugs.debug} @@ -2790,155 +4098,182 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter-web/1.5.4.RELEASE/spring-boot-starter-web-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-web/2.1.6.RELEASE/spring-boot-starter-web-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter/2.1.6.RELEASE/spring-boot-starter-2.1.6.RELEASE.jar + + + /path/to/.m2/repository/org/springframework/boot/spring-boot/2.1.6.RELEASE/spring-boot-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter/1.5.4.RELEASE/spring-boot-starter-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/2.1.6.RELEASE/spring-boot-autoconfigure-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot/1.5.4.RELEASE/spring-boot-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-logging/2.1.6.RELEASE/spring-boot-starter-logging-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/1.5.4.RELEASE/spring-boot-autoconfigure-1.5.4.RELEASE.jar + + /path/to/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter-logging/1.5.4.RELEASE/spring-boot-starter-logging-1.5.4.RELEASE.jar + + /path/to/.m2/repository/ch/qos/logback/logback-core/1.2.3/logback-core-1.2.3.jar - - /path/to/home/.m2/repository/ch/qos/logback/logback-classic/1.1.11/logback-classic-1.1.11.jar + + /path/to/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.11.2/log4j-to-slf4j-2.11.2.jar - - /path/to/home/.m2/repository/ch/qos/logback/logback-core/1.1.11/logback-core-1.1.11.jar + + /path/to/.m2/repository/org/apache/logging/log4j/log4j-api/2.11.2/log4j-api-2.11.2.jar - - /path/to/home/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar + + /path/to/.m2/repository/org/slf4j/jul-to-slf4j/1.7.26/jul-to-slf4j-1.7.26.jar - - /path/to/home/.m2/repository/org/slf4j/jul-to-slf4j/1.7.25/jul-to-slf4j-1.7.25.jar + + /path/to/.m2/repository/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar - - /path/to/home/.m2/repository/org/slf4j/log4j-over-slf4j/1.7.25/log4j-over-slf4j-1.7.25.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-json/2.1.6.RELEASE/spring-boot-starter-json-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/1.5.4.RELEASE/spring-boot-starter-tomcat-1.5.4.RELEASE.jar + + /path/to/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.9.9/jackson-databind-2.9.9.jar - - /path/to/home/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/8.5.15/tomcat-embed-core-8.5.15.jar + + /path/to/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.9.0/jackson-annotations-2.9.0.jar - - /path/to/home/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/8.5.15/tomcat-embed-el-8.5.15.jar + + /path/to/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.9.9/jackson-core-2.9.9.jar - - /path/to/home/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/8.5.15/tomcat-embed-websocket-8.5.15.jar + + /path/to/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.9.9/jackson-datatype-jdk8-2.9.9.jar - - /path/to/home/.m2/repository/org/hibernate/hibernate-validator/5.3.5.Final/hibernate-validator-5.3.5.Final.jar + + /path/to/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.9.9/jackson-datatype-jsr310-2.9.9.jar - - /path/to/home/.m2/repository/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar + + /path/to/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.9.9/jackson-module-parameter-names-2.9.9.jar - - /path/to/home/.m2/repository/org/jboss/logging/jboss-logging/3.3.1.Final/jboss-logging-3.3.1.Final.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/2.1.6.RELEASE/spring-boot-starter-tomcat-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/com/fasterxml/classmate/1.3.3/classmate-1.3.3.jar + + /path/to/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/9.0.21/tomcat-embed-core-9.0.21.jar - - /path/to/home/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.8.8/jackson-databind-2.8.8.jar + + /path/to/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/9.0.21/tomcat-embed-el-9.0.21.jar - - /path/to/home/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.8.0/jackson-annotations-2.8.0.jar + + /path/to/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/9.0.21/tomcat-embed-websocket-9.0.21.jar - - /path/to/home/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.8.8/jackson-core-2.8.8.jar + + /path/to/.m2/repository/org/hibernate/validator/hibernate-validator/6.0.17.Final/hibernate-validator-6.0.17.Final.jar - - /path/to/home/.m2/repository/org/springframework/spring-web/4.3.9.RELEASE/spring-web-4.3.9.RELEASE.jar + + /path/to/.m2/repository/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar - - /path/to/home/.m2/repository/org/springframework/spring-aop/4.3.9.RELEASE/spring-aop-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/jboss/logging/jboss-logging/3.3.2.Final/jboss-logging-3.3.2.Final.jar - - /path/to/home/.m2/repository/org/springframework/spring-beans/4.3.9.RELEASE/spring-beans-4.3.9.RELEASE.jar + + /path/to/.m2/repository/com/fasterxml/classmate/1.4.0/classmate-1.4.0.jar - - /path/to/home/.m2/repository/org/springframework/spring-context/4.3.9.RELEASE/spring-context-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-web/5.1.8.RELEASE/spring-web-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/spring-webmvc/4.3.9.RELEASE/spring-webmvc-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-beans/5.1.8.RELEASE/spring-beans-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/spring-expression/4.3.9.RELEASE/spring-expression-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-webmvc/5.1.8.RELEASE/spring-webmvc-5.1.8.RELEASE.jar - - /path/to/multi-module-maven-project/shared-core/target/shared-core-0.0.29-SNAPSHOT.jar + + /path/to/.m2/repository/org/springframework/spring-aop/5.1.8.RELEASE/spring-aop-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-starter-test/1.5.4.RELEASE/spring-boot-starter-test-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-context/5.1.8.RELEASE/spring-context-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-test/1.5.4.RELEASE/spring-boot-test-1.5.4.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-expression/5.1.8.RELEASE/spring-expression-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/boot/spring-boot-test-autoconfigure/1.5.4.RELEASE/spring-boot-test-autoconfigure-1.5.4.RELEASE.jar + + /path/to/multi-module-maven-project/shared-core/target/shared-core-0.0.30-SNAPSHOT.jar - - /path/to/home/.m2/repository/com/jayway/jsonpath/json-path/2.2.0/json-path-2.2.0.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-starter-test/2.1.6.RELEASE/spring-boot-starter-test-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/net/minidev/json-smart/2.2.1/json-smart-2.2.1.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-test/2.1.6.RELEASE/spring-boot-test-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/net/minidev/accessors-smart/1.1/accessors-smart-1.1.jar + + /path/to/.m2/repository/org/springframework/boot/spring-boot-test-autoconfigure/2.1.6.RELEASE/spring-boot-test-autoconfigure-2.1.6.RELEASE.jar - - /path/to/home/.m2/repository/org/ow2/asm/asm/5.0.3/asm-5.0.3.jar + + /path/to/.m2/repository/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.jar - - /path/to/home/.m2/repository/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar + + /path/to/.m2/repository/net/minidev/json-smart/2.3/json-smart-2.3.jar + + + /path/to/.m2/repository/net/minidev/accessors-smart/1.2/accessors-smart-1.2.jar + + + /path/to/.m2/repository/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar + + + /path/to/.m2/repository/org/slf4j/slf4j-api/1.7.26/slf4j-api-1.7.26.jar - /path/to/home/.m2/repository/junit/junit/4.12/junit-4.12.jar + /path/to/.m2/repository/junit/junit/4.12/junit-4.12.jar + + + /path/to/.m2/repository/org/assertj/assertj-core/3.11.1/assertj-core-3.11.1.jar - - /path/to/home/.m2/repository/org/assertj/assertj-core/2.6.0/assertj-core-2.6.0.jar + + /path/to/.m2/repository/org/mockito/mockito-core/2.23.4/mockito-core-2.23.4.jar - - /path/to/home/.m2/repository/org/mockito/mockito-core/1.10.19/mockito-core-1.10.19.jar + + /path/to/.m2/repository/net/bytebuddy/byte-buddy/1.9.13/byte-buddy-1.9.13.jar - - /path/to/home/.m2/repository/org/objenesis/objenesis/2.1/objenesis-2.1.jar + + /path/to/.m2/repository/net/bytebuddy/byte-buddy-agent/1.9.13/byte-buddy-agent-1.9.13.jar + + + /path/to/.m2/repository/org/objenesis/objenesis/2.6/objenesis-2.6.jar - /path/to/home/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar + /path/to/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar - /path/to/home/.m2/repository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar + /path/to/.m2/repository/org/hamcrest/hamcrest-library/1.3/hamcrest-library-1.3.jar - - /path/to/home/.m2/repository/org/skyscreamer/jsonassert/1.4.0/jsonassert-1.4.0.jar + + /path/to/.m2/repository/org/skyscreamer/jsonassert/1.5.0/jsonassert-1.5.0.jar - /path/to/home/.m2/repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar + /path/to/.m2/repository/com/vaadin/external/google/android-json/0.0.20131108.vaadin1/android-json-0.0.20131108.vaadin1.jar + + + /path/to/.m2/repository/org/springframework/spring-core/5.1.8.RELEASE/spring-core-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/spring-core/4.3.9.RELEASE/spring-core-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-jcl/5.1.8.RELEASE/spring-jcl-5.1.8.RELEASE.jar - - /path/to/home/.m2/repository/org/springframework/spring-test/4.3.9.RELEASE/spring-test-4.3.9.RELEASE.jar + + /path/to/.m2/repository/org/springframework/spring-test/5.1.8.RELEASE/spring-test-5.1.8.RELEASE.jar + + + /path/to/.m2/repository/org/xmlunit/xmlunit-core/2.6.2/xmlunit-core-2.6.2.jar - - + + @@ -2986,8 +4321,8 @@ ${project.reporting.outputDirectory}/xref-test - - + + @@ -3035,11 +4370,11 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + ${project.build.outputDirectory} ${project.compileSourceRoots} ${findbugs.debug} @@ -3081,11 +4416,11 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + ${project.build.outputDirectory} ${project.compileSourceRoots} ${findbugs.debug} @@ -3127,11 +4462,11 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + ${project.build.outputDirectory} ${project.compileSourceRoots} ${findbugs.debug} @@ -3173,11 +4508,11 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + ${project.build.outputDirectory} ${project.compileSourceRoots} ${findbugs.debug} @@ -3219,11 +4554,11 @@ ${project.reporting.outputDirectory}/xref-test - - + + - + ${project.artifact} ${project.attachedArtifacts} ${createChecksum} @@ -3237,11 +4572,11 @@ ${updateReleaseInfo} - - + + - + ${project.artifact} ${project.attachedArtifacts} ${createChecksum} @@ -3255,11 +4590,11 @@ ${updateReleaseInfo} - - + + - + ${altDeploymentRepository} ${altReleaseDeploymentRepository} ${altSnapshotDeploymentRepository} @@ -3277,11 +4612,23 @@ ${updateReleaseInfo} - - + + + + + + + + + + + + + + - + ${altDeploymentRepository} ${altReleaseDeploymentRepository} ${altSnapshotDeploymentRepository} @@ -3298,34 +4645,41 @@ ${maven.deploy.skip} ${updateReleaseInfo} + + nexus3.beescloud.com + https://nexus3.beescloud.com/repository/maven-snapshots/ + - - + + - - /path/to/multi-module-maven-project/demo-2/target/demo-2-0.0.29-SNAPSHOT.jar + + /path/to/multi-module-maven-project/demo-2/target/demo-2-0.0.30-SNAPSHOT.jar - + + + /path/to/multi-module-maven-project/demo-2/target/demo-2-0.0.30-SNAPSHOT-sources.jar + + - - + + - + - + - + - - - + +
\ No newline at end of file