+1
−0
+108
−0
+3
−0
+1
−1
Loading
Adds a python script which is responsible for checking if there are any local changes, and publishing to mavenLocal if there are. Before, consuming projects were responsible for this logic; now, they can simply call this command. This also behaves differently from what fenix did. Before, to determine if there are changes we'd run the build, and see if any tasks were actually performed (meaning, there were code changes that triggered a rebuild). This way had its pros - it wouldn't consider changes to .gitignore, for example, as something that would affect the build. However, for the most common case, when there are no changes, this approach would still run through the build. Doing so comes with a significant overhead of running through all of gradle's build phases, even if there isn't actually anything to re-compile. New approach optimizes for the common case. When there are no changes, we can now determine that almost instantly by looking at an aggregate of git hash values for our project. And, by allowing consuming projects to call the python script directly, we're skipping the gradle overhead as well. The end result is a zero-cost auto-publication workflow.