Comments (6)
Bravo. Loading from pom file makes sense. Feel free to create a PR and we'll review it and eventually merge it. Don't forget to implement a unit test as this is testable easily
from repositorytools.
@stardust85 thanks for response :) I will try to make my solution more general and make PR with new artifact class.
Btw. thanks for this lib. Nexus REST api docs are so messed up, I would spend weeks figuring all of this. I failed on using requests to send POM + Jar in same request and I had to fallback to pycurl - because of not implemented 100-Continue
in requests.
from repositorytools.
Thanks for letting us know you like it and what is your use case :). I created it to make it easier to upload RPM packages to nexus, but it is generally usable of course :) Btw, when I worked on a Java project, I used gradle to upload to nexus. It also works well. And of course supports both jar and pom files.
from repositorytools.
@stardust85 unfortunately this case is not simple CI style - mvn clean verify
+ mvn deploy
:D I am from SCM department and we usually work only on finished product - in this case jars already made, without compile environment. I think we could do some generation to leverage maven but it was easier for me to control every part of deployement from code.
from repositorytools.
This regex seems more robust:
^(?# name)(.*?)(?:-|_|\.)(?=\d)(?# version)((?:(?:\d+)\.)*\d+(?:-(?:[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+)?)\.(?# extension)([^.]+)$
I plugged in a semantic-versioning-aware regex in the middle.
from repositorytools.
just realized that work is on branch not touched for a while, maybe someone will use it :D https://github.com/alkuzad/repositorytools/tree/pom-artifact
from repositorytools.
Related Issues (20)
- automatically release to pypi
- custom metadata: new nexus (>=2.12) returns 403 if extension is missing in coordinates
- artifact upload: add option --classifier
- lib, cli: upload_artifacts should have an option to use REST API instead of direct POST HOT 3
- regression: all commands return exit code 1 HOT 5
- with the REST api uploads, the uploads aren't streamed anymore HOT 2
- upload: failing when using REST and specifying version explicitly
- scripts don't work on windows and venv well - use console_scripts in setup.py
- [cli] upload: allow user to switch between rest and plain old PUT
- Wrong number of arguments potentially passed to CLI.run method HOT 1
- Last Release version supports Nexus OSS 3.2.1-01? HOT 4
- repo close: fail if it doesn't manage to close it
- AttributeError: 'dict_items' object has no attribute 'append' HOT 2
- AttributeError: 'Namespace' object has no attribute 'func' HOT 4
- upload artifacts as bundle HOT 1
- staging: allow specifying staging profile name HOT 2
- Upload artifact : manage classifier HOT 5
- artifact upload fails when uploaded file's name does not match GAV specified in arguments
- What kind of repositories are supported? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from repositorytools.