Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
pro.juxt.clojars-mirrors.weavejester:dependency
Advanced tools
A data structure for representing dependency graphs
= clojars-mirrors
This repo is to mirror certain libraries on Clojars over to Maven Central, predominantly so that Crux itself can be hosted on Central and used by non-Clojure people.
pro.juxt.clojars-mirrors
Maven group, so that it's obvious that our mirror isn't the canonical release.project.clj
that uses https://github.com/benedekfazekas/mranderson[mranderson] to rename all of the namespaces and classes in the project and its transitive dependencies - this is so that if someone does happen to have both the mirror and the original in their project at different versions, the namespaces won't clash.potemkin
, clj-tuple
and riddley
- these are forked as submodules and released directly, due to it being a pain to get mranderson
to handle them correctly.
See https://github.com/juxt/crux/pull/1543 for more details.
This does mean that the class/namespace names may clash - at the moment this seems like a reasonable risk given the unlikelihood of them being updated again.
If they do, and you do have a namespace clash, you should be able to exclude the JUXT mirror artifact and everything still work.== Re-deploying a mirrored library:
SNAPSHOT
version first../bin/build.sh <jar|install|deploy> <dir>
SNAPSHOT
, you're done - you may need to add:require
d namespaces in your projects to the new version.== Creating a new mirrored library:
./bin/create.sh <groupId> <artifactId> <version>
to create a template project.clj
, then follow the instructions within.When you update the copied project.clj
, you'll want to exclude any transitive dependencies from the library that are already present on Maven Central, to minimise the amount of copied namespaces (and hence the JAR size).
Most (all?) of org.clojure
is already, for example, and obviously any underlying Java libraries.
Include these as dependencies of your mirror.
juxt.clojars-mirrors
as a namespace prefix; mranderson
then adds on the name of the project, the version, and finally the original namespace - e.g. taoensso.nippy
version 3.1.1's namespaces move to juxt.clojars-mirrors.nippy.v3v1v1.taoensso.nippy
.Consider what this might mean for namespaced keywords - particularly if those keywords are serialised - if you must preserve the original namespaced keys (if they're serialised, say) it may be preferable to fork the library instead.
== New JUXT users:
pro.juxt
group on Sonatype OSS Repository Hosting (OSSRH), https://oss.sonatype.org.
Create an account on the OSSRH JIRA (yes, really), and create a ticket like https://issues.sonatype.org/browse/OSSRH-69695[this one] requesting access to the pro.juxt
group.
You'll need someone already on the group to vouch for you.
Instructions https://central.sonatype.org/publish/publish-guide/[here].~/.lein/credentials.clj.gpg
for Lein, ~/.gradle/gradle.properties
for Gradle, ~/.m2/settings.xml
for vanilla Maven (Maven not required in JUXT, AFAIK, but here's where they go if you do)
+
[source,clojure]== New Maven groupId (rare)
Bear in mind that anyone with permissions to pro.juxt
can automatically publish to any sub-group (pro.juxt.crux
) - this should only be required if we'd like to publish under a different top-level domain (TLD).
FAQs
A data structure for representing dependency graphs
We found that pro.juxt.clojars-mirrors.weavejester:dependency demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.