You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2020/09/02 12:21:03 UTC

[camel-k-runtime] 01/05: chore(deps): replace commons-* with camel's helpers

This is an automated email from the ASF dual-hosted git repository.

lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k-runtime.git

commit 35cff64e62e8bbae319efb3763b3bb9cb774e554
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Wed Sep 2 12:57:44 2020 +0200

    chore(deps): replace commons-* with camel's helpers
---
 .../camel-k-loader-yaml-common/pom.xml             |  5 ----
 pom.xml                                            |  3 ---
 tooling/camel-k-maven-plugin/pom.xml               | 15 ------------
 .../src/it/generate-dependencies/verify.groovy     |  8 ++++---
 .../tooling/maven/GenerateDependencyListMojo.java  |  8 ++++---
 .../maven/GenerateYamlParserSupportClasses.java    | 21 ++++++++--------
 .../k/tooling/maven/support/MavenSupport.java      | 28 ++++++++++++++++++++++
 7 files changed, 48 insertions(+), 40 deletions(-)

diff --git a/camel-k-loader-yaml/camel-k-loader-yaml-common/pom.xml b/camel-k-loader-yaml/camel-k-loader-yaml-common/pom.xml
index 862ea11..a689b8e 100644
--- a/camel-k-loader-yaml/camel-k-loader-yaml-common/pom.xml
+++ b/camel-k-loader-yaml/camel-k-loader-yaml-common/pom.xml
@@ -115,11 +115,6 @@
                         <artifactId>camel-core-engine</artifactId>
                         <version>${camel.version}</version>
                     </dependency>
-                    <dependency>
-                        <groupId>org.apache.commons</groupId>
-                        <artifactId>commons-text</artifactId>
-                        <version>${commons-text.version}</version>
-                    </dependency>
                 </dependencies>
             </plugin>
             <plugin>
diff --git a/pom.xml b/pom.xml
index 5a2727e..fec5de8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -44,9 +44,6 @@
         <junit.version>5.6.2</junit.version>
         <junit-pioneer.version>0.9.0</junit-pioneer.version>
         <joor.version>0.9.13</joor.version>
-        <commons-lang.version>3.11</commons-lang.version>
-        <commons-text.version>1.9</commons-text.version>
-        <commons-codec.version>1.14</commons-codec.version>
         <commons-dbcp2.version>2.7.0</commons-dbcp2.version>
         <assertj.version>3.17.1</assertj.version>
         <log4j2.version>2.13.3</log4j2.version>
diff --git a/tooling/camel-k-maven-plugin/pom.xml b/tooling/camel-k-maven-plugin/pom.xml
index e917436..09ef8cc 100644
--- a/tooling/camel-k-maven-plugin/pom.xml
+++ b/tooling/camel-k-maven-plugin/pom.xml
@@ -129,21 +129,6 @@
     </dependency>
 
     <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-lang3</artifactId>
-      <version>${commons-lang.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.commons</groupId>
-      <artifactId>commons-text</artifactId>
-      <version>${commons-text.version}</version>
-    </dependency>
-    <dependency>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-      <version>${commons-codec.version}</version>
-    </dependency>
-    <dependency>
       <groupId>com.vdurmont</groupId>
       <artifactId>semver4j</artifactId>
       <version>${semver4j.version}</version>
diff --git a/tooling/camel-k-maven-plugin/src/it/generate-dependencies/verify.groovy b/tooling/camel-k-maven-plugin/src/it/generate-dependencies/verify.groovy
index 6beb074..465fa68 100644
--- a/tooling/camel-k-maven-plugin/src/it/generate-dependencies/verify.groovy
+++ b/tooling/camel-k-maven-plugin/src/it/generate-dependencies/verify.groovy
@@ -23,6 +23,8 @@ import java.nio.file.Files
 new File(basedir, "dependencies.yaml").withReader {
     def deps = new groovy.yaml.YamlSlurper().parse(it)
 
+    assert deps.dependencies.size() != 0
+
     for (Map<String, String> dependency: deps.dependencies) {
         dependency.checksum != null
         dependency.location != null
@@ -31,14 +33,14 @@ new File(basedir, "dependencies.yaml").withReader {
         File checksum
 
         if ((checksum = new File("${dependency.location}.md5")).exists()) {
-            dependency.checksum == "md5:" + Files.readString(checksum.toPath(), StandardCharsets.UTF_8)
+            assert dependency.checksum == "md5:" + Files.readString(checksum.toPath(), StandardCharsets.UTF_8)
         } else if ((checksum = new File("${dependency.location}.sha1")).exists()) {
-            dependency.checksum == "sha1:" + Files.readString(checksum.toPath(), StandardCharsets.UTF_8)
+            assert dependency.checksum == "sha1:" + Files.readString(checksum.toPath(), StandardCharsets.UTF_8)
         } else {
             def file  = new File(dependency.location)
             def bytes = Files.readAllBytes(file.toPath())
 
-            dependency.checksum == "sha1:" + DigestUtils.sha1Hex(bytes)
+            assert dependency.checksum == "sha1:" + DigestUtils.sha1Hex(bytes)
         }
     }
 }
diff --git a/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateDependencyListMojo.java b/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateDependencyListMojo.java
index 08cc0d8..a18f87c 100644
--- a/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateDependencyListMojo.java
+++ b/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateDependencyListMojo.java
@@ -23,13 +23,13 @@ import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
+import java.security.NoSuchAlgorithmException;
 import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
 
-import org.apache.commons.codec.digest.DigestUtils;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.DefaultArtifact;
 import org.apache.maven.plugin.AbstractMojo;
@@ -44,6 +44,8 @@ import org.apache.maven.shared.utils.StringUtils;
 import org.yaml.snakeyaml.DumperOptions;
 import org.yaml.snakeyaml.Yaml;
 
+import static org.apache.camel.k.tooling.maven.support.MavenSupport.sha1Hex;
+
 @Mojo(
     name = "generate-dependency-list",
     defaultPhase = LifecyclePhase.PREPARE_PACKAGE,
@@ -121,12 +123,12 @@ public class GenerateDependencyListMojo extends AbstractMojo {
 
             if (checksum == null) {
                 try (InputStream is = Files.newInputStream(artifact.getFile().toPath())) {
-                    checksum = "sha1:" + DigestUtils.sha1Hex(is);
+                    checksum = "sha1:" + sha1Hex(is);
                 }
             }
 
             dep.put("checksum", checksum);
-        } catch (IOException e) {
+        } catch (IOException|NoSuchAlgorithmException e) {
             throw new RuntimeException(e);
         }
 
diff --git a/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateYamlParserSupportClasses.java b/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateYamlParserSupportClasses.java
index 20afba1..77136e2 100644
--- a/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateYamlParserSupportClasses.java
+++ b/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateYamlParserSupportClasses.java
@@ -32,8 +32,7 @@ import com.squareup.javapoet.TypeSpec;
 import org.apache.camel.model.DataFormatDefinition;
 import org.apache.camel.model.LoadBalancerDefinition;
 import org.apache.camel.model.language.ExpressionDefinition;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.text.WordUtils;
+import org.apache.camel.util.StringHelper;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugins.annotations.LifecyclePhase;
 import org.apache.maven.plugins.annotations.Mojo;
@@ -95,9 +94,9 @@ public class GenerateYamlParserSupportClasses extends GenerateYamlSupport {
         definitions(EXPRESSION_DEFINITION_CLASS).forEach(
             (k, v) -> {
                 String name = k;
-                name = WordUtils.capitalize(name, '_', '-');
-                name = StringUtils.remove(name, "_");
-                name = StringUtils.remove(name, "-");
+                name = StringHelper.capitalize(name);
+                name = StringHelper.replaceAll(name, "_", "");
+                name = StringHelper.replaceAll(name, "-", "");
 
                 type.addMethod(MethodSpec.methodBuilder("set" + name)
                     .addAnnotation(
@@ -147,9 +146,9 @@ public class GenerateYamlParserSupportClasses extends GenerateYamlSupport {
         definitions(DATAFORMAT_DEFINITION_CLASS).forEach(
             (k, v) -> {
                 String name = k;
-                name = WordUtils.capitalize(name, '_', '-');
-                name = StringUtils.remove(name, "_");
-                name = StringUtils.remove(name, "-");
+                name = StringHelper.capitalize(name);
+                name = StringHelper.replaceAll(name, "_", "");
+                name = StringHelper.replaceAll(name, "-", "");
 
                 type.addMethod(MethodSpec.methodBuilder("set" + name)
                     .addAnnotation(
@@ -196,9 +195,9 @@ public class GenerateYamlParserSupportClasses extends GenerateYamlSupport {
         definitions(LOAD_BALANCE_DEFINITION_CLASS).forEach(
             (k, v) -> {
                 String name = k;
-                name = WordUtils.capitalize(name, '_', '-');
-                name = StringUtils.remove(name, "_");
-                name = StringUtils.remove(name, "-");
+                name = StringHelper.capitalize(name);
+                name = StringHelper.replaceAll(name, "_", "");
+                name = StringHelper.replaceAll(name, "-", "");
 
                 type.addMethod(MethodSpec.methodBuilder("set" + name)
                     .addAnnotation(
diff --git a/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/support/MavenSupport.java b/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/support/MavenSupport.java
index 95cb827..1d9e40a 100644
--- a/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/support/MavenSupport.java
+++ b/tooling/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/support/MavenSupport.java
@@ -17,9 +17,12 @@
 package org.apache.camel.k.tooling.maven.support;
 
 import java.io.File;
+import java.io.IOException;
 import java.io.InputStream;
 import java.net.URL;
 import java.net.URLClassLoader;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
@@ -104,4 +107,29 @@ public final class MavenSupport {
             clazz,
             String.format("/META-INF/maven/%s/%s/pom.properties", groupId, artifactId));
     }
+
+    public static String bytesToHex(byte[] hash) {
+        StringBuilder hexString = new StringBuilder();
+        for (byte b : hash) {
+            String hex = Integer.toHexString(0xff & b);
+            if (hex.length() == 1) {
+                hexString.append('0');
+            }
+
+            hexString.append(hex);
+        }
+
+        return hexString.toString();
+    }
+
+    public static String sha1Hex(InputStream is) throws NoSuchAlgorithmException, IOException {
+        MessageDigest digest = MessageDigest.getInstance("SHA-1");
+
+        byte[] buffer = new byte[1024];
+        for(int read = is.read(buffer, 0, 1024); read > -1; read = is.read(buffer, 0, 1024)) {
+            digest.update(buffer, 0, read);
+        }
+
+        return bytesToHex(digest.digest());
+    }
 }