0
votes

On the project I am working on we are using nexus for storing binary build artifacts and then sharing them between projects. Our project is in C++, we are not proficient in java, maven or gradle and do not use these tools. That is why I am asking for a help.

Unfortunately my build was impacted by a technical dispute between two groups. One group builds an artifact and uploads it to nexus with a certain GAV coordinate. Upload routine does not generate any POM file. As per these folks POM is not really required - folks have a script that can download the artifact having just GAV coordinate (script just combines GAV into a downloadable URL).

Other group has another download script that requires POM file even though exact GAV coordinate is requested. As per these folks POM is a required part of each artifact in maven2 repository.

I tried to google but all the information I found was too much java- or maven- related. I did not find anything purely nexus.

So, is POM really required to storing artifacts in nexus?

1

1 Answers

1
votes

It isn't required.

You can get a jar into NXRM alone, for example, using curl (e.g. curl --upload-file jtzapp-1.0.jar http://localhost:8081/repository/maven-releases/jtt/jtzapp/1.0/jtzapp-1.0.jar -u admin:admin123 -v).

Most of the upload mechanisms give you an option to include it, require it, or generate it because they assume if you're using a maven repository, you're using maven.

Without knowing more details about your usage, especially in between teams, you could do the same thing you listed in a raw repository in NXRM3, I think. Which is probably why the group thinking it's required feels it should be used.