datacraft-dsc / starfish-clj

Developer Toolkit for Decentralised Data Ecosystems
Apache License 2.0
5 stars 1 forks source link

Fix for nosuchmethoderror #5

Closed shark8me closed 5 years ago

shark8me commented 5 years ago

This PR

shark8me commented 5 years ago

@tmarble

I've resolved points 1 & 3.

I'm not sure I understand the argument for "pom.xml being the definitive build reference for this project". As this project grows, there are likely to be several more leiningen specific changes such as profiles, test exclusions and others, which will make it harder to use (for an mvn build consumer). Could you lay out the argument for driving the build process from pom/mvn alone?

tmarble commented 5 years ago

@shark8me

It is my understanding that we need to support a workflow involving Eclipse (and CounterClockwise) that only uses pom.xml (not project.clj). In particular this is Mike's workflow.

shark8me commented 5 years ago

@tmarble In that case, the pom.xml can be generated from project.clj. @mikera Can you confirm if that works for you?

tmarble commented 5 years ago

I am not at all sure that method will preserve all the characteristics of the current pom.xml. Specficially I doubt the current conversion approach will preserve the ability to run unit and interegration tests from Eclipse/CounterClockwise.

Note these differences:


tmarble@cerise 110 :) cp pom.xml pom-orig.xml
tmarble@cerise 111 :) lein pom
Wrote /home/tmarble/src/github/DEX-Company/starfish-clj/pom.xml
tmarble@cerise 112 :) diff -u pom-orig.xml pom.xml
--- pom-orig.xml    2019-04-11 11:02:30.437065378 -0500
+++ pom.xml 2019-04-11 11:02:39.597093126 -0500
@@ -1,154 +1,159 @@
-<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>
-   <groupId>sg.dex</groupId>
-   <artifactId>starfish-clj</artifactId>
-   <version>0.0.1-SNAPSHOT</version>
-
-   <properties>
-       <maven.compiler.target>1.8</maven.compiler.target>
-       <maven.compiler.source>1.8</maven.compiler.source>
-   </properties>
-
-   <scm>
-       <connection>scm:git:git@github.com:DEX-Company/${project.artifactId}.git</connection>
-       <url>scm:git:git@github.com:DEX-Company/${project.artifactId}.git</url>
-       <developerConnection>scm:git:git@github.com:DEX-Company/${project.artifactId}.git</developerConnection>
-       <tag>HEAD</tag>
-   </scm>
-
-        <dependencyManagement>
-          <dependencies>
-            <dependency>
-              <groupId>org.apache.httpcomponents</groupId>
-              <artifactId>httpclient</artifactId>
-              <version>4.5.7</version>
-            </dependency>
-            <dependency>
-              <groupId>com.fasterxml.jackson.core</groupId>
-              <artifactId>jackson-annotations</artifactId>
-              <version>2.9.8</version>
-            </dependency>
-            <dependency>
-              <groupId>com.fasterxml.jackson.core</groupId>
-              <artifactId>jackson-core</artifactId>
-              <version>2.9.8</version>
-            </dependency>
-            <dependency>
-              <groupId>com.fasterxml.jackson.core</groupId>
-              <artifactId>jackson-databind</artifactId>
-              <version>2.9.8</version>
-            </dependency>
-            <dependency>
-              <groupId>net.i2p.crypto</groupId>
-              <artifactId>eddsa</artifactId>
-              <version>0.3.0</version>
-            </dependency>
-            <dependency>
-              <groupId>com.google.api-client</groupId>
-              <artifactId>google-api-client</artifactId>
-              <version>1.26.0</version>
-            </dependency>
-            <dependency>
-              <groupId>org.bouncycastle</groupId>
-              <artifactId>bcprov-jdk15on</artifactId>
-              <version>1.61</version>
-            </dependency>
-            <dependency>
-              <groupId>com.google.code.gson</groupId>
-              <artifactId>gson</artifactId>
-              <version>2.8.5</version>
-            </dependency>
-            <dependency>
-              <groupId>com.github.jnr</groupId>
-              <artifactId>jnr-ffi</artifactId>
-              <version>2.1.2</version>
-            </dependency>
-            <dependency>
-              <groupId>commons-codec</groupId>
-              <artifactId>commons-codec</artifactId>
-              <version>1.11</version>
-            </dependency>
-            <dependency>
-              <groupId>commons-logging</groupId>
-              <artifactId>commons-logging</artifactId>
-              <version>1.2</version>
-            </dependency>
-            <dependency>
-              <groupId>org.clojure</groupId>
-              <artifactId>clojure</artifactId>
-              <version>1.10.0</version>
-            </dependency>
-          </dependencies>
-        </dependencyManagement>
-
-   <dependencies>
-       <dependency>
-           <groupId>org.clojure</groupId>
-           <artifactId>clojure</artifactId>
-           <version>1.10.0</version>
-       </dependency>
-       <dependency>
-           <groupId>sg.dex</groupId>
-           <artifactId>starfish-java</artifactId>
-           <version>0.0.1-SNAPSHOT</version>
-       </dependency>
-       <dependency>
-           <groupId>org.clojure</groupId>
-           <artifactId>data.json</artifactId>
-           <version>0.2.6</version>
-       </dependency>
-       <dependency>
-           <groupId>org.clojure</groupId>
-           <artifactId>data.csv</artifactId>
-           <version>0.1.4</version>
-       </dependency>
-
-       <dependency>
-           <groupId>net.mikera</groupId>
-           <artifactId>cljunit</artifactId>
-           <version>0.6.0</version>
-           <scope>test</scope>
-       </dependency>
-   </dependencies>
-
-   <repositories>
-       <repository>
-           <id>clojars.org</id>
-           <url>https://clojars.org/repo</url>
-       </repository>
-   </repositories>
-
-   <build>
-       <plugins>
-           <plugin>
-                          <groupId>org.apache.maven.plugins</groupId>
-                          <artifactId>maven-enforcer-plugin</artifactId>
-                          <version>3.0.0-M2</version>
-                          <configuration>
-                            <rules><dependencyConvergence/></rules>
-                          </configuration>
-                        </plugin>
-       </plugins>
-       <resources>
-           <resource>
-               <directory>src/main/clojure</directory>
-           </resource>
-           <resource>
-               <directory>src/main/resources</directory>
-           </resource>
-       </resources>
-
-       <testResources>
-           <testResource>
-               <directory>src/test/clojure</directory>
-           </testResource>
-           <testResource>
-               <directory>src/test/resources</directory>
-           </testResource>
-       </testResources>
-
-       <testSourceDirectory>src/test/java</testSourceDirectory>
-   </build>
+<?xml version="1.0" encoding="UTF-8"?><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>
+  <groupId>sg.dex</groupId>
+  <artifactId>starfish-clj</artifactId>
+  <packaging>jar</packaging>
+  <version>0.0.1-SNAPSHOT</version>
+  <name>starfish-clj</name>
+  <description/>
+  <url>https://github.com/DEX-Company/starfish-clj</url>
+  <scm>
+    <url>https://github.com/DEX-Company/starfish-clj</url>
+    <connection>scm:git:git://github.com/DEX-Company/starfish-clj.git</connection>
+    <developerConnection>scm:git:ssh://git@github.com/DEX-Company/starfish-clj.git</developerConnection>
+    <tag>cfa610698b51b7549f02332a06375b31ac18c203</tag>
+  </scm>
+  <build>
+    <sourceDirectory>src/main/clojure</sourceDirectory>
+    <testSourceDirectory>src/test/clojure</testSourceDirectory>
+    <resources>
+      <resource>
+        <directory>resources</directory>
+      </resource>
+    </resources>
+    <testResources>
+      <testResource>
+        <directory>resources</directory>
+      </testResource>
+    </testResources>
+    <directory>target</directory>
+    <outputDirectory>target/classes</outputDirectory>
+    <plugins>
+      <plugin>
+        <groupId>org.codehaus.mojo</groupId>
+        <artifactId>build-helper-maven-plugin</artifactId>
+        <version>1.7</version>
+        <executions>
+          <execution>
+            <id>add-source</id>
+            <phase>generate-sources</phase>
+            <goals>
+              <goal>add-source</goal>
+            </goals>
+            <configuration>
+              <sources>
+                <source>src/main/java</source>
+              </sources>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <repositories>
+    <repository>
+      <id>central</id>
+      <url>https://repo1.maven.org/maven2/</url>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+    <repository>
+      <id>clojars</id>
+      <url>https://repo.clojars.org/</url>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+      <releases>
+        <enabled>true</enabled>
+      </releases>
+    </repository>
+  </repositories>
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>com.fasterxml.jackson.core</groupId>
+        <artifactId>jackson-databind</artifactId>
+        <version>2.9.8</version>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+  <dependencies>
+    <dependency>
+      <groupId>sg.dex</groupId>
+      <artifactId>starfish-java</artifactId>
+      <version>0.0.1-SNAPSHOT</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>commons-logging</artifactId>
+          <groupId>commons-logging</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>jcl-over-slf4j</artifactId>
+      <version>1.7.26</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>commons-logging</artifactId>
+          <groupId>commons-logging</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.clojure</groupId>
+      <artifactId>data.json</artifactId>
+      <version>0.2.6</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>commons-logging</artifactId>
+          <groupId>commons-logging</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.clojure</groupId>
+      <artifactId>data.csv</artifactId>
+      <version>0.1.4</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>commons-logging</artifactId>
+          <groupId>commons-logging</groupId>
+        </exclusion>
+      </exclusions>
+    </dependency>
+    <dependency>
+      <groupId>org.clojure</groupId>
+      <artifactId>clojure</artifactId>
+      <version>1.10.0</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>commons-logging</artifactId>
+          <groupId>commons-logging</groupId>
+        </exclusion>
+      </exclusions>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>net.mikera</groupId>
+      <artifactId>cljunit</artifactId>
+      <version>0.6.0</version>
+      <exclusions>
+        <exclusion>
+          <artifactId>commons-logging</artifactId>
+          <groupId>commons-logging</groupId>
+        </exclusion>
+      </exclusions>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
 </project>
+
+<!-- This file was autogenerated by Leiningen.
+  Please do not edit it directly; instead edit project.clj and regenerate it.
+  It should not be considered canonical data. For more information see
+  https://github.com/technomancy/leiningen -->
tmarble@cerise 113 :(