Hi @trask , great work, glowroot has been very useful to my team!
I package the glowroot jar with my app and our startup script automatically registers it as a javaagent. I'm using gradle to generate our distribution, so it's easy to grab jars from maven repos and package them with the app.
For now I have been manually downloading the glowroot releases from github and uploading them to our private Nexus repo. I was wondering if you have any plans to publish glowroot to a public maven repo? I saw that some older versions are in the sonatype oss repo, but could not find the latest glowroot agent:
Hi @trask , thanks for the suggestion for the gradle tool to download from github. I'll take a look.
My main reasons for wanting to pull the glowroot agent from a maven repo are:
All our builds use an internal Nexus which proxies maven
By always downloading from our internal Nexus, we can ensure build stability (no need to worry if github is up/down, if a repository or link was removed from github, and so on)
Gradle does a great job of caching downloads from maven, so we don't need to worry about caching downloads if we are pulling from a maven repo.
We are based in Cambodia and our internet connection to the rest of the world is extremely slow and intermittent. Using our own local maven proxy allows us to get much faster downloads for all developers.
The default task of that project just downloads and unzips glowroot from maven central. If you think it would be useful, I could provide a complete sample of a gradle-configured spring boot app like Spring PetClinic running with glowroot.
I ran into a few issues with the classifier and pom.xml declaring transitive dependencies that are not in maven central. Let me know if you are interested in contributions for simplifying the packaging for maven, something like this is a good example of packaging of a javaagent that is easy to consume from maven and maven-compatible clients (gradle):
This packaging is easier to use because the pom.xml does not declare missing transitive dependencies (for java agents, typically you just want the one agent jar, not any dependencies) and the agent jar is using the standard maven naming, so does not require a classifier. Also it's not zipped so the unzipping step is not necessary.
Thanks again, just a minor issue but I am happy to help look into the glowroot config if you don't have the time to do it.
Re-opening. Good point about the transitive dependencies, I missed that. Deploying the zip (under dist classifier) to maven central serves a couple purposes, (1) make it clear it should not be used as a regular build dependency, (2) bundles the LICENSE and NOTICE files, though those files are also already inside the jar file, so (2) is not critical. Really, (1) is not critical either. I see your point about simplicity of just downloading the jar file (no classifier, no unzipping).