aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGary Wu <gary.i.wu@huawei.com>2017-09-01 12:22:48 -0700
committerGary Wu <gary.i.wu@huawei.com>2017-09-01 12:22:48 -0700
commite2181e3a152292a653ec3e712d76be25badc5064 (patch)
treeb277c724d8f04a7a34d246178de629befca21c14
parentcbb902781c65a42c9c75b8f3340d14fcd402ea98 (diff)
Move version-check to integration repo
Change-Id: I52ae07477f68e7ae665fa1d9c1f4ee2ae486d59f Issue-ID: INT-124 Signed-off-by: Gary Wu <gary.i.wu@huawei.com>
-rw-r--r--pom.xml1
-rw-r--r--version-check-maven-plugin/pom.xml74
-rw-r--r--version-check-maven-plugin/src/main/java/org/onap/oparent/versioncheck/VersionCheckMojo.java121
3 files changed, 0 insertions, 196 deletions
diff --git a/pom.xml b/pom.xml
index f3bbbac..e1cfbf3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,7 +27,6 @@
<module>checkstyle</module>
<module>license</module>
<module>oparent</module>
- <module>version-check-maven-plugin</module>
</modules>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
diff --git a/version-check-maven-plugin/pom.xml b/version-check-maven-plugin/pom.xml
deleted file mode 100644
index 57f905b..0000000
--- a/version-check-maven-plugin/pom.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.onap.oparent</groupId>
- <artifactId>version</artifactId>
- <version>1.0.0-SNAPSHOT</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>version-check-maven-plugin</artifactId>
- <packaging>maven-plugin</packaging>
- <name>version-check-maven-plugin Maven Plugin</name>
- <url>https://www.onap.org</url>
- <properties>
- <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <mavenVersion>3.2.3</mavenVersion>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-plugin-api</artifactId>
- <version>2.0</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven.plugin-tools</groupId>
- <artifactId>maven-plugin-annotations</artifactId>
- <version>3.2</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.codehaus.plexus</groupId>
- <artifactId>plexus-utils</artifactId>
- <version>3.0.8</version>
- </dependency>
- <dependency>
- <groupId>org.apache.maven</groupId>
- <artifactId>maven-core</artifactId>
- <version>${mavenVersion}</version>
- </dependency>
- <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-csv -->
- <dependency>
- <groupId>org.apache.commons</groupId>
- <artifactId>commons-csv</artifactId>
- <version>1.4</version>
- </dependency>
- </dependencies>
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-plugin-plugin</artifactId>
- <version>3.2</version>
- <configuration>
- <goalPrefix>version-check</goalPrefix>
- <skipErrorNoDescriptorsFound>true</skipErrorNoDescriptorsFound>
- </configuration>
- <executions>
- <execution>
- <id>mojo-descriptor</id>
- <goals>
- <goal>descriptor</goal>
- </goals>
- </execution>
- <execution>
- <id>help-goal</id>
- <goals>
- <goal>helpmojo</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/version-check-maven-plugin/src/main/java/org/onap/oparent/versioncheck/VersionCheckMojo.java b/version-check-maven-plugin/src/main/java/org/onap/oparent/versioncheck/VersionCheckMojo.java
deleted file mode 100644
index 0bb94f2..0000000
--- a/version-check-maven-plugin/src/main/java/org/onap/oparent/versioncheck/VersionCheckMojo.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright 2017 Huawei Technologies, Ltd. and others.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.onap.oparent.versioncheck;
-
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.nio.charset.StandardCharsets;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Map.Entry;
-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.plugin.AbstractMojo;
-import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.plugins.annotations.LifecyclePhase;
-import org.apache.maven.plugins.annotations.Mojo;
-import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.project.MavenProject;
-
-@Mojo(name = "version-check", defaultPhase = LifecyclePhase.PROCESS_SOURCES)
-public class VersionCheckMojo extends AbstractMojo {
-
- /**
- * The Maven Project.
- *
- * @since 1.0-alpha-1
- */
- @Parameter(defaultValue = "${project}", required = true, readonly = true)
- protected MavenProject project;
-
- /**
- * Location of the file.
- */
- @Parameter(property = "manifestUri", required = true)
- private URI manifestUri;
-
- public void execute() throws MojoExecutionException {
- final Log log = getLog();
-
- log.info("Checking version manifest " + manifestUri);
-
- Map<String, String> expectedVersions = new HashMap<>();
-
- try (InputStreamReader in = new InputStreamReader(manifestUri.toURL().openStream(),
- StandardCharsets.ISO_8859_1)) {
- Iterable<CSVRecord> records = CSVFormat.DEFAULT.withFirstRecordAsHeader().parse(in);
- for (CSVRecord record : records) {
- String groupId = record.get("groupId");
- String artifactId = record.get("artifactId");
- String version = record.get("version");
- 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());
- }
-
- Map<String, String> actualVersions = new HashMap<>();
- MavenProject parent = project.getParent();
- if (parent != null) {
- log.debug("Parent: " + parent);
- 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());
- }
-
- Set<String> mismatches = new TreeSet<>();
- for (Entry<String, String> expected : expectedVersions.entrySet()) {
- String artifact = expected.getKey();
- String expectedVersion = expectedVersions.get(artifact);
- String actualVersion = actualVersions.get(artifact);
- if (actualVersion != null && !actualVersion.equals(expectedVersion)) {
- mismatches.add(artifact);
- }
- }
-
- if (mismatches.isEmpty()) {
- log.debug("No version mismatches found");
- } else {
- log.warn("The following dependencies should be updated to match the version manifest:");
- for (String artifact : mismatches) {
- String expectedVersion = expectedVersions.get(artifact);
- String actualVersion = actualVersions.get(artifact);
- if (actualVersion != null && !actualVersion.equals(expectedVersion)) {
- log.warn(" " + artifact + " " + actualVersion + " -> " + expectedVersion);
- }
- }
- }
-
- }
-}