noprompt / meander

Tools for transparent data transformation
MIT License
918 stars 55 forks source link

Cljdocs build fails when attempting to import Git #236

Open alysbrooks opened 1 year ago

alysbrooks commented 1 year ago

Looking at docs for the latest version, the Cljdoc build fails: https://cljdoc.org/builds/48006. I'm not seeing a Git repository listed on Clojars either, so I'm assuming it's failing to be added to your pom.xml for some reason.

lread commented 1 year ago

@zane also noted this on Slack today.

Problem

The pom published to clojars for this version of meander does not point back to meander sources on GitHub.

<?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>
  <packaging>jar</packaging>
  <groupId>meander</groupId>
  <artifactId>epsilon</artifactId>
  <version>0.0.650</version>
  <name>epsilon</name>
  <dependencies>
    <dependency>
      <groupId>org.clojure</groupId>
      <artifactId>clojure</artifactId>
      <version>1.10.3</version>
    </dependency>
  </dependencies>
  <build>
    <sourceDirectory>src</sourceDirectory>
  </build>
  <repositories>
    <repository>
      <id>clojars</id>
      <url>https://repo.clojars.org/</url>
    </repository>
  </repositories>
</project>

Cljdoc uses <scm> info in the pom to point back to articles and source code. Older versions of meander published to clojars do have some info so, the build process probably changed. And meander does have a doc/cljdoc.edn to there has been historical interest in cljdoc.

The Fix

The meander build/release process needs to populate <scm> info in the pom. This will fix:

I notice that meander is using tools.build. There's more than one way to do this, but what I typically do is keep an anemic pom.xml and fill in any missing blanks with build.clj. Example from rewrite-clj: pom.xml, and build.clj.

lread commented 1 year ago

Related: I noticed you are no longer version tagging on release. Could be interesting to add this back in at the same time. This way the <scm> <tag> could specify your git version tag. But you can also use a git sha for <scm> <tag> if you wish.