summaryrefslogtreecommitdiffstats
path: root/version-manifest
diff options
context:
space:
mode:
Diffstat (limited to 'version-manifest')
-rw-r--r--version-manifest/pom.xml17
-rw-r--r--version-manifest/src/main/java/org/onap/integration/versionmanifest/VersionCheckMojo.java49
-rw-r--r--version-manifest/src/main/resources/java-manifest.csv2
3 files changed, 51 insertions, 17 deletions
diff --git a/version-manifest/pom.xml b/version-manifest/pom.xml
index 884199e6f..331f357ad 100644
--- a/version-manifest/pom.xml
+++ b/version-manifest/pom.xml
@@ -68,6 +68,23 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>pl.project13.maven</groupId>
+ <artifactId>git-commit-id-plugin</artifactId>
+ <version>2.2.3</version>
+ <executions>
+ <execution>
+ <phase>validate</phase>
+ <goals>
+ <goal>revision</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
+ <generateGitPropertiesFile>true</generateGitPropertiesFile>
+ </configuration>
+ </plugin>
</plugins>
</build>
</project>
diff --git a/version-manifest/src/main/java/org/onap/integration/versionmanifest/VersionCheckMojo.java b/version-manifest/src/main/java/org/onap/integration/versionmanifest/VersionCheckMojo.java
index 5d4e9a8fa..75da50ff0 100644
--- a/version-manifest/src/main/java/org/onap/integration/versionmanifest/VersionCheckMojo.java
+++ b/version-manifest/src/main/java/org/onap/integration/versionmanifest/VersionCheckMojo.java
@@ -17,20 +17,21 @@
package org.onap.integration.versionmanifest;
import java.io.IOException;
+import java.io.InputStream;
import java.io.InputStreamReader;
-import java.net.MalformedURLException;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.Properties;
import java.util.Set;
import java.util.TreeSet;
import org.apache.commons.csv.CSVFormat;
import org.apache.commons.csv.CSVRecord;
-import org.apache.maven.model.Dependency;
+import org.apache.maven.artifact.Artifact;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.logging.Log;
@@ -59,7 +60,17 @@ public class VersionCheckMojo extends AbstractMojo {
public void execute() throws MojoExecutionException {
final Log log = getLog();
- log.info("Checking version manifest " + manifest);
+ final Properties gitProps = new Properties();
+ try (InputStream in = getClass().getResourceAsStream("/git.properties")) {
+ gitProps.load(in);
+ } catch (IOException e) {
+ log.error(e);
+ throw new MojoExecutionException(e.getMessage());
+ }
+
+ log.info("Manifest version: " + gitProps.getProperty("git.build.time") + " "
+ + gitProps.getProperty("git.commit.id") + " " + gitProps.getProperty("git.remote.origin.url"));
+
log.info("");
final List<String> groupIdPrefixes = Arrays.asList("org.onap", "org.openecomp", "org.openo");
@@ -76,9 +87,6 @@ public class VersionCheckMojo extends AbstractMojo {
log.debug("Expected version: " + groupId + ":" + artifactId + ":" + version);
expectedVersions.put(groupId + ":" + artifactId, version);
}
- } catch (MalformedURLException e) {
- log.error(e);
- throw new MojoExecutionException(e.getMessage());
} catch (IOException e) {
log.error(e);
throw new MojoExecutionException(e.getMessage());
@@ -88,24 +96,31 @@ public class VersionCheckMojo extends AbstractMojo {
final MavenProject parent = project.getParent();
if (parent != null) {
log.debug("Parent: " + parent);
- actualVersions.put(parent.getGroupId() + ":" + parent.getArtifactId(), parent.getVersion());
+ // don't warn within the same groupId
+ if (!project.getGroupId().equals(parent.getGroupId())) {
+ actualVersions.put(parent.getGroupId() + ":" + parent.getArtifactId(), parent.getVersion());
+ }
} else {
log.debug("No parent");
}
- for (Dependency dep : project.getDependencies()) {
- log.debug("Dependency: " + dep.toString());
- actualVersions.put(dep.getGroupId() + ":" + dep.getArtifactId(), dep.getVersion());
+ for (Artifact dep : project.getDependencyArtifacts()) {
+ log.debug("DependencyArtifact: " + dep.toString());
+ // don't warn within the same groupId
+ if (!project.getGroupId().equals(dep.getGroupId())) {
+ actualVersions.put(dep.getGroupId() + ":" + dep.getArtifactId(), dep.getVersion());
+ }
}
final Set<String> mismatches = new TreeSet<>();
final Set<String> missingArtifacts = new TreeSet<>();
- for (Entry<String, String> actualVersion : actualVersions.entrySet()) {
- String artifact = actualVersion.getKey();
+ for (Entry<String, String> actualVersionEntry : actualVersions.entrySet()) {
+ String artifact = actualVersionEntry.getKey();
+ String actualVersion = actualVersionEntry.getValue();
String expectedVersion = expectedVersions.get(artifact);
if (expectedVersion == null) {
- if (artifact.startsWith("org.onap") || artifact.startsWith("org.openecomp")) {
+ if (groupIdPrefixes.stream().anyMatch(prefix -> artifact.startsWith(prefix))) {
missingArtifacts.add(artifact);
}
} else if (!expectedVersion.equals(actualVersion)) {
@@ -132,17 +147,19 @@ public class VersionCheckMojo extends AbstractMojo {
log.warn(String.format(format, artifact, actualVersion, expectedVersion));
}
}
+ log.warn("");
}
- log.info("");
- if (!missingArtifacts.isEmpty()) {
+ if (missingArtifacts.isEmpty()) {
+ log.debug("No artifacts found missing in the version manifest");
+ } else {
log.warn("The following dependencies are missing in the version manifest:");
for (String artifact : missingArtifacts) {
String actualVersion = actualVersions.get(artifact);
log.warn(String.format(format, artifact, actualVersion, "?"));
}
+ log.warn("");
}
- log.info("");
}
}
diff --git a/version-manifest/src/main/resources/java-manifest.csv b/version-manifest/src/main/resources/java-manifest.csv
index 8baa86884..f6bb6ec29 100644
--- a/version-manifest/src/main/resources/java-manifest.csv
+++ b/version-manifest/src/main/resources/java-manifest.csv
@@ -1,2 +1,2 @@
groupId,artifactId,version
-org.onap.oparent,oparent,0.1.0
+org.onap.oparent,oparent,0.1.1