mranderson icon indicating copy to clipboard operation
mranderson copied to clipboard

Consider adding some brief docs for MrAnderson developers

Open lread opened this issue 2 years ago • 1 comments

Currently

While making some changes to MrAnderson, I was curious to know the best way to build and install locally.

I stumbled on the Makefile. And looked at what MrAnderson does for CircleCI.

And figured things out. Maybe.

I think...

Some dev docs would be helpful for those who want to contribute to MrAnderson.

This could either be in a separate dev.md doc or directly in the current README.md.

Also...

Even after looking at the Makefile several times, I'm not sure I understand how to build and install a version of MrAnderson with inlined deps to my local maven repo.

I tweaked the Makefile:

-.PHONY: install inline test integration-test deploy clean
+.PHONY: boostrap-install inline test integration-test install deploy clean

# Note that `install` is a two-step process: given that mranderson depends on itself as a plugin,
# it first needs to be installed without the plugin, for bootstrapping this self dependency.
-install:
+bootstrap-install:
	lein clean
	lein with-profile -user,-dev install
	lein with-profile -user,-dev,+mranderson-plugin install

-.inline: install
+.inline: bootstrap-install
	rm target/*.jar
	rm pom.xml
	lein with-profile -user,-dev,+mranderson-plugin inline-deps :skip-javaclass-repackage true
	touch .inline

inline: .inline

test:
	lein test

integration-test:
	.circleci/integration_test.sh

+install: .inline
+	lein with-profile -user,-dev,+mranderson-profile install
+
deploy: .inline
	lein with-profile -user,-dev,+mranderson-profile deploy clojars

clean:
	lein clean
	rm -rf .inline

This seemed to work, but if it does not make sense please let me know so I can better understand. If it does make sense I can include the change in the PR.

Next Steps

If adding some brief developer docs is something that interests you too, I'll follow up with a PR.

lread avatar Sep 17 '22 17:09 lread

So the Makefile change seems to make sense. The tweak allows me to easily test locally with MrAnderson with its own deps inlined. Which is handy for things like cljdoc previewing.

lread avatar Oct 15 '22 01:10 lread