2./4. I would suggest when defining routes look at the handlers/facets common to both Maven and Raw, and duplicate the use.
Handlers are invoked when the route(s) they’re attached to match an inbound request.
Facets are attached to a specific Repository instance and are accessible via repository.facet(MyClass.class). Some facets may be related to Nexus features (e.g. search) and would be invoked by those services. Facets you define wouldn’t have methods called unless you call them (e.g. by one of your handlers).
Nexus has no specific requirements for the package structure.
If you’re looking at source code make sure you’re looking at the SQL related code, orientdb was removed from main but the community plugins still include it AFAIK.
Thanks @mpiggott. I was able to figure out a few things by debugging the Maven repository code. However, I still don’t understand how the UI part works. How can I configure my UI?
@mpiggott, I have those plugins (extjs-maven-plugin, yuicompressor-maven-plugin) in my pom.xml. Instead of modifying my plugin, I made changes to the Composer plugin. However, the changes I made to ComposerProxy.js were not reflected in the actual UI.
I even removed the entire src/main/resources directory and the plugins mentioned above from pom file. Then, I compiled and placed the artifacts under the deploy directory. However, I still see all those components in the UI. Ideally, I shouldn’t see them in the UI, right?
Do I need to make changes anywhere else besides these JS files?
The below image shows the jar file that I added to the deploy directory
Your screenshots seem to show composer, are you sure you’re not experiencing a name collusion with the builtin Nexus proxy in 3.75? Composer Repositories
I’m using version 3.72, which is why I haven’t encountered the name collision issue. I’m only using the Composer plugin as a reference to implement and reuse it for my own plugin.