0

Processing's (processing.org) basic library jars are not on clojars or maven. I have a project going with clojure and would like to upload the jars to clojars under my username. It was kind of tedious to get them into my .m2 folder one a time. I will be need to be able to access them via clojars so that others can help me with my project. How can I upload these dependencies?

lein deploy clojars doesn't upload the dependencies - all the processing library jars.

My processing localrepo is also on github stored here:

https://github.com/originalsurfmex/originalsurfmex_m2/tree/master/repository/processing

4

3 回答 3

1

如果此信息http://blog.rueedlinger.ch/2012/09/use-github-as-maven-remote-repository/对您将 github 存储库用作 maven 存储库有用,那么您只需声明此 github在你的 project.clj 上回购。你可以在这里看到一个例子https://github.com/technomancy/leiningen/blob/master/sample.project.clj#L76

  :repositories [["your-id" "https://github.com/originalsurfmex/originalsurfmex_m2/tree/master/repository"]]

更新: 你是对的,上面的评论并没有完全回答你的问题,所以我会再试一次:)

那么,如果依赖项还没有在 clojars 中,如何将 lib 推送到 clojars?我从来没有将一个库推到 clojars 所以下一个只是想法但是,我一直在一个真实的已发表案例(quil/quil)中搜索同样的问题,这些是我的结论:

在 quil project.clj中,“有问题的”依赖项位于“手工制作的”clojars 中。如果你查看 ~/.m2 本地存储库,你会发现它们都以“org/clojars/”而不是“org.processing”为前缀,将这些依赖项推送到 clojars 的 dev [@samaaron] 必须创建一个单独的项目的依赖,配置它:

<dependency>
  <groupId>org.clojars.processing-core</groupId>
  <artifactId>org.processing.opengl</artifactId>
  <version>1.5.1</version>
</dependency>

并将每一个推到clojars。

我认为,如果您查看本地 maven repo 上的这些 quil 依赖项之一,您将弄清楚您必须遵循的方式(基本上:拥有一个 java 项目,下载源代码,配置 pom.xml 和将 java 代码上传到 clojars )

祝你好运

于 2014-01-07T15:55:29.553 回答
0

如果您仍在使用 Processing 1.5.1,您可以在Clojars上找到所有必需的 jar ,但是在这种情况下,您也可以将Quil拉入您的项目,然后再拉入所有其他重新打包的 Processing jar(包括本机库对于 OpenGL)。

以下是重新打包 jar 并将其上传到 Clojars 的一些更通用的要点:https ://groups.google.com/forum/#!topic/clojure/KxwhVg7L_gA

于 2014-01-07T22:43:15.057 回答
0

到目前为止,感谢您的帮助和链接。据我所知,这是:

我取得了一些成功——减去了在罐子和 poms 上签名的能力。

我得承认,虽然它有点痛苦。这是过程。必须有一种自动化的方法来做到这一点吗?

转到您的 .m2/repository/group/library/version/ 文件夹

  1. md5sum lib.jar > lib.jar.md5
  2. sha1sum lib.jar > lib.jar.sha1
  3. 将 lib.pom 中的 groupId 从

<groupId>libgroup</groupId>

<groupId>org.clojars.username.libgroup</groupId>

  1. 手动在 lib.pom 中添加缺少的部分,否则 clojars 会抱怨:

<description>processing-libs</description> <url>http://www.processing.org</url> <scm> <tag>something relevant?</tag> <url>somewhere relevant?</url> </scm> <licenses> <license> <name/> <url/> <distribution/> </license> </licenses> <developers> <developer> <id/> <name/> <email/> </developer> </developers> <repositories> <repository> <id>clojars.org</id> <url>http://clojars.org/repo/</url> </repository> </repositories>

  1. md5sum lib.pom > lib.pom.md5
  2. sha1sum lib.pom > lib.pom.sha1
  3. scp lib* clojars@clojars.org:

它们在 github 中(当然不包括 md5 和 sha1 文件):

https://github.com/originalsurfmex/originalsurfmex_m2/tree/master/repository/processing/core/2.1

https://github.com/originalsurfmex/originalsurfmex_m2/tree/master/repository/processing/gluegen-rt/2.1

它们在clojars中:

https://clojars.org/org.clojars.originalsurfmex.processing/core

https://clojars.org/org.clojars.originalsurfmex.processing/gluegen-rt

在我继续添加所有这些库之前,我有两个问题:

  1. 我污染了 clojars.org 我的错误 --> https://clojars.org/users/originalsurfmex

  2. 我的 jars 和 poms 没有签名会是浪费还是破坏交易?我似乎无法弄清楚如何签署它们。我在 clojar.org 上设置了 SSH 和 PGP,并且 scp 运行良好。

于 2014-01-19T04:07:56.117 回答