depstar

Discussion around https://github.com/seancorfield/depstar
seancorfield 2021-06-20T00:49:37.022300Z

depstar is getting an overhaul! I am planning to expose the pom.xml handling, the AOT compilation, and the JAR building as three separate tasks that can be executed (via -X) independently — see https://github.com/seancorfield/depstar/issues/82 for details and current status. In addition, a new :target-dir option has been added so you can tell depstar to sync from the current pom.xml to a target version, to compile your code into a classes folder inside that target, and to generate the JAR file there as well. This will be more in keeping with how many other build-related tools work. This is partially spurred by the brand new multi-exec functionality mentioned above but also by the tools.build information that Alex provided at clojureD.

seancorfield 2021-06-20T00:50:39.023600Z

In particular, this will allow folks to keep a stable pom.xml under version control and have depstar generate it to a target folder with an updated version etc without changing the original file.

seancorfield 2021-06-20T00:51:35.024500Z

Note: depstar still generates the JAR file directly, rather than copying all the files into a target folder and then building a JAR — this is mainly for performance!

seancorfield 2021-06-20T00:52:56.025900Z

The -X targets are not exposed yet — there will be a new hf.depstar.api namespace containing them — but this is intended to be a stepping stone toward integration with tools.build so that you will be able to mix’n’match tasks between depstar and the built-in tools.build tasks.