cljsjs

mikebelanger 2016-11-29T20:01:50.001346Z

Suppose there's a project out there that already has externs (just not for clojurescript). Do I still need to include the .ext.js file in an extern for cljsjs, or can I just ask Boot to download that extern straight from the original project's repo?

juhoteperi 2016-11-29T20:02:17.001347Z

@mikebelanger You can use Boot to download it

mikebelanger 2016-11-29T20:03:10.001349Z

@juhoteperi cool, and btw it gets checksummed, so if that original repo changes, Boot will fail

juhoteperi 2016-11-29T20:04:02.001350Z

You should also use URL with the library version

mikebelanger 2016-11-29T20:05:32.001351Z

@juhoteperi you mean a url with a version number in it?

juhoteperi 2016-11-29T20:05:41.001352Z

Yes

juhoteperi 2016-11-29T20:05:49.001353Z

(I'm just writing comment on ToneJs PR about this)

mikebelanger 2016-11-29T20:19:53.001355Z

Oh yeah, I should change the version thing to actually make sense, not just add nothing 😛

juhoteperi 2016-11-29T20:20:46.001356Z

Both r8 and 0.8.0 are okay, r8 should work fine in Clojars & tooling, but ToneJs is using 0.8.0 in npm

mikebelanger 2016-11-29T20:21:31.001357Z

@juhoteperi right its best to be consistent with npm -- I totally spaced.

mikebelanger 2016-11-29T20:22:53.001358Z

@juhoteperi as far as urls go, I'm a little confused. Does the formatted url get assigned as the :scm map value in the task-options! pom {... part?

juhoteperi 2016-11-29T20:23:34.001359Z

No, to the download task url parameter

mikebelanger 2016-11-29T20:30:00.001360Z

@juhoteperi but that url doesn't exist -- I mean ideally Tonejs would go with version numbers in the url, but it doesn't look like that's a branch in the repo

mikebelanger 2016-11-29T20:31:53.001361Z

@juhoteperi ...oh I see, instead of master its r8...

juhoteperi 2016-11-29T20:34:05.001362Z

Yeah, it is a tag instead of branch

mikebelanger 2016-11-29T20:35:18.001363Z

@juhoteperi I had no idea github had the r/ urls 😛 I need to learn to git better.

mikebelanger 2016-11-29T20:35:20.001364Z

I see what you mean, one var for lib url, one formatted to match up with npm

juhoteperi 2016-11-29T20:36:53.001365Z

Usually libraries use the version number as tag, so there is no need for different "release" and "version"

mikebelanger 2016-11-29T20:40:51.001366Z

That makes a lot of sense -- I was thinking the checksum was the only check in place against a changed repo, which is a little precarious

juhoteperi 2016-11-29T20:41:58.001367Z

Checksum is mostly to guard against CI failing the download for some reason

juhoteperi 2016-11-29T20:42:22.001368Z

And I'm not sure if it is worth it nowadays

juhoteperi 2016-11-29T20:43:08.001369Z

Previously we didn't have as well refined build process

mikebelanger 2016-11-29T20:50:24.001370Z

I could see it being useful in the case of a url that isn't in vc -- but I guess that's pretty rare

mikebelanger 2016-11-29T21:06:35.001371Z

Sorry, as you can tell I know nothing about git, I just added a commit based on what you mentioned, do I need to do another PR, or does that commit get included in the PR?

juhoteperi 2016-11-29T21:18:52.001372Z

It gets included.

juhoteperi 2016-11-29T21:19:10.001373Z

@mikebelanger Now the PR is missing +version+, it is used by pom task

juhoteperi 2016-11-29T21:19:42.001374Z

oh and +lib-version+ refers itself, instead of +lib-release+

mikebelanger 2016-11-29T21:20:47.001375Z

oops sorry will change that right away

juhoteperi 2016-11-29T21:20:54.001376Z

Aaand it would be best to have +version+ still

juhoteperi 2016-11-29T21:21:08.001377Z

+version+ includes the cljsjs specific part, e.g. -1

juhoteperi 2016-11-29T21:21:25.001378Z

that is increased if the cljsjs package is changed without updating the library version

mikebelanger 2016-11-29T21:27:35.001380Z

So something like...

(def +lib-release+ "8")
(def +lib-version+ (str "0." +lib-release+ ".0"))
(def +version+ (str +lib-version+ "-1"))

(set-env!
  :resource-paths #{"resources"}
  :dependencies '[[cljsjs/boot-cljsjs "0.5.2"]])

(task-options!
 pom  {:project     'cljsjs/tonejs
       :version     +version+
       :description "A Web Audio framework for making interactive music in the browser."
       :url         "<http://www.tonejs.org/>"
       :license     {"MIT" "<https://github.com/Tonejs/Tone.js/blob/master/LICENSE.md>"}
       :scm         {:url "<https://github.com/cljsjs/packages>"}})
?

juhoteperi 2016-11-29T21:30:37.001383Z

@mikebelanger Yes, that seems correct

mikebelanger 2016-11-29T22:10:00.001387Z

@juhoteperi sorry to bug you again, but the version in tonejs' README seems to be +version+, instead of the full release -- does it read it from the POM settings? I can make another PR real quick

mikebelanger 2016-11-29T22:12:29.001388Z

I'm referring to the version number : https://github.com/cljsjs/packages/tree/master/tonejs

mikebelanger 2016-11-29T22:20:41.001390Z

oh wait, looks like the robot changed it