cljc support for contrib libs

168 views
Skip to first unread message

Alex Miller

unread,
Dec 6, 2016, 12:35:49 AM12/6/16
to Clojure Dev
Jenkins and all plugins at build.clojure.org have now been fully updated to the latest versions and I'll try to keep things relatively fresh from here. 

Contrib builds using cljc should also now work. To take advantage of this (or to release at all), each contrib will need to be updated to the latest parent pom version (now 0.2.0). This will move each contrib build forward to the latest versions of all of the Maven and Nexus plugins used by our build system. This is something that can be done as needed when you need to release - no need to change anything until then.

If you are a contrib library owner and would like to move to a cljc-based build, please ping me and I can assist in making sure things work initially.

There is no change regarding support for ClojureScript testing in the context of the build server. These updates only allow you to a) use cljc files in building and testing Clojure and b) compile and release an artifact that contains a mixture of clj, cljc, and cljs for use in either environment.

Alex

Yehonathan Sharvit

unread,
Dec 6, 2016, 8:05:31 AM12/6/16
to Clojure Dev
That's great news Alex.

I've been waiting for it for so long.

Now we can have math.combinatorics and core.match be self-host cljs compatible.

Yehonathan Sharvit

unread,
Dec 6, 2016, 8:07:56 AM12/6/16
to Clojure Dev
the pull request for math.combinatorics: https://github.com/clojure/math.combinatorics/pull/3
The JIRA ticket for core.match: http://dev.clojure.org/jira/browse/MATCH-116

Alex Miller

unread,
Dec 6, 2016, 11:01:17 AM12/6/16
to Clojure Dev
The companion thing to consider here is that moving a contrib to cljc also means requiring Clojure 1.7+.

I'd be interested in hearing from people if this is a problem. Last year's state of Clojure results (new one coming soon!) showed that about 20% of users were using Clojure 1.6 (and a smattering on older versions). That was prior to 1.8's release and about a year ago, so while I expect the number is much less than 20% now, I'm sure some people are still using <= 1.6. 

That said, current versions of those libs still exist for those wanting it and we could release point updates to those if needed later.

Herwig Hochleitner

unread,
Dec 6, 2016, 2:19:35 PM12/6/16
to cloju...@googlegroups.com
2016-12-06 17:01 GMT+01:00 Alex Miller <al...@puredanger.com>:
The companion thing to consider here is that moving a contrib to cljc also means requiring Clojure 1.7+.

That doesn't need to be that way. I created cljc-maven-plugin, to transpile cljc files into clj files https://github.com/bendlas/cljc-maven-plugin

Alex Miller

unread,
Dec 12, 2016, 4:34:54 PM12/12/16
to Clojure Dev
Based on an early read of the State of Clojure data, it looks like <5% are using anything older than Clojure 1.7, so seems ok to me to require Clojure 1.7 as a min bar in contrib libs.

Yehonathan Sharvit

unread,
Dec 12, 2016, 11:44:38 PM12/12/16
to cloju...@googlegroups.com

Thats great news Alex!


--
You received this message because you are subscribed to a topic in the Google Groups "Clojure Dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/clojure-dev/cwxzA3K-P3k/unsubscribe.
To unsubscribe from this group and all its topics, send an email to clojure-dev...@googlegroups.com.
To post to this group, send email to cloju...@googlegroups.com.
Visit this group at https://groups.google.com/group/clojure-dev.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages