├── screenshot.png ├── .eslintrc ├── .travis.yml ├── LICENSE.txt ├── README.md └── index.html /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TOPdesk/nexus3-artifact-upload/HEAD/screenshot.png -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "airbnb", 3 | "env": { 4 | "browser": true, 5 | "es6": true, 6 | "jquery": true 7 | }, 8 | "plugins": [ 9 | "html" 10 | ], 11 | "rules": { 12 | "comma-dangle": ["error", "never"], 13 | "no-param-reassign": ["error", { "props": false }], 14 | "no-use-before-define": ["error", "nofunc"] 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "7.10.0" 4 | before_script: 5 | - npm install -g eslint@3.19.0 eslint-plugin-import@2.3.0 eslint-plugin-react@7.0.1 eslint-plugin-jsx-a11y@5.0.3 eslint-config-airbnb@15.0.1 eslint-plugin-html@2.0.3 html-validator-cli@3.1.0 css-validator@0.8.0 6 | script: 7 | - html-validator --file=index.html --verbose 8 | - css-validator index.html 9 | - eslint index.html 10 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2017 TOPdesk 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Nexus 3 Artifact Upload [![Build Status](https://travis-ci.org/TOPdesk/nexus3-artifact-upload.svg?branch=master)](https://travis-ci.org/TOPdesk/nexus3-artifact-upload) 2 | > A drop-in solution for the missing artifact upload UI for [Sonatype Nexus 3 Repository](https://www.sonatype.com/nexus-repository-oss). 3 | 4 | ![Screenshot](screenshot.png "Screenshot") 5 | 6 | ## Table of Contents 7 | - [Installation](#installation) 8 | - [Usage](#usage) 9 | - [Contributing](#contributing) 10 | - [Known issues](#known-issues) 11 | - [License](#license) 12 | 13 | ## Installation 14 | Our goal was to make installation as easy as possible: you need to *host* the *index.html* file on your Nexus 3 installation in a raw repository, that has public access. Yes, that is all. 15 | 16 | #### Example: 17 | - Consider having your Nexus 3 running at `https://nexus.mycompany.com/nexus` and a *raw* repository identified as `utils` 18 | - Grab the `index.html` and upload it with `curl` (or whatever you like): 19 | ```bash 20 | $ curl -u : \ 21 | --upload-file index.html \ 22 | https://nexus.mycompany.com/nexus/repository/utils/uploader 23 | ``` 24 | Note that user and password should be an account that has write access to the `utils` repository. 25 | - Done 26 | 27 | 28 | ## Usage 29 | Visit `https://nexus.mycompany.com/nexus/repository/utils/uploader` and enjoy the integrated artifact uploader. 30 | You can pick a repository, browse (or drop) a file, fill in the details, and press the upload button. 31 | 32 | ## Contributing 33 | By all means! If you have a fix or an improvement, pull requests are welcome. We are also happy to get any feedback. 34 | 35 | ## Known issues 36 | - This is really a basic implementation, some useful features are missing. You can upload files with Maven's GAV style, or do raw uploads to any other repository (in this case you need to know the proper URL). 37 | - Input is not validated, it will try to upload with specified settings, and you will have a success, or an error based on what you did. 38 | - You can use the login feature of Nexus, but if you are not logged in, you will be promted for Basic Auth by the browser. That will work for upload, if your setup allows that. 39 | - The JavaScript code uses arrow functions, so it will not work with IE11, but you can experiment with Babel! 40 | 41 | #### Browsers we tried 42 | 43 | | Google Chrome 58.0 | Chromium 58.0 | Opera 45.0 | Microsoft Edge 38 | Mozilla Firefox 53.0 | Safari 10.1.1 | IE11 | 44 | | :----------------: | :-----------: | :--------: | :---------------: | :------------------: | :-----------: | :--: | 45 | | ✔ | ✔ | ✔ | ✔ (weird looks) | ✔ (visual glitches) | ✔ | ✖ | 46 | 47 | #### Checked Nexus 3 Versions 48 | - PRO 3.2.1-01 49 | - OSS 3.3.1-01 50 | 51 | ## License 52 |
MIT License
53 | 
54 | Copyright (c) 2017 TOPdesk
55 | 
56 | Permission is hereby granted, free of charge, to any person obtaining a copy
57 | of this software and associated documentation files (the "Software"), to deal
58 | in the Software without restriction, including without limitation the rights
59 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
60 | copies of the Software, and to permit persons to whom the Software is
61 | furnished to do so, subject to the following conditions:
62 | 
63 | The above copyright notice and this permission notice shall be included in all
64 | copies or substantial portions of the Software.
65 | 
66 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
67 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
68 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
69 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
70 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
71 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
72 | SOFTWARE.
73 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 31 | Upload File - Nexus Repository Manager 32 | 33 | 41 | 173 | 455 | 456 | 457 |
458 |
459 | Upload 460 |
461 | Upload Artifact 462 | Upload a file from your computer to a repository 463 |
464 |
465 |
466 |

Upload format

467 | 468 | 469 |
470 |
471 |
472 |

File to upload

473 |
474 |

Drop a file or click here

475 | No file selected 476 | 477 | 478 |
479 |
480 |
481 |

Target Repository

482 | 483 | 484 | 485 |
486 |
487 |

Maven GAV Upload

488 |
489 | 490 | 491 |
492 |
493 | 494 | 495 |
496 | 497 | 498 |
499 | 500 | 501 |
502 | 503 | 504 |
505 | 506 | 507 |
508 |
509 |
510 |

Raw file upload

511 |
512 | 513 | 514 |
515 |
516 | 517 | 518 |
519 |
520 |
521 |

Upload progress

522 | 523 |
524 |
525 |

Upload

526 | 527 |
528 |
529 |
530 | 531 | 532 | --------------------------------------------------------------------------------