Code Monkey home page Code Monkey logo

maven-artifacts-uploader's People

Contributors

ronbadur avatar sorinvasilescu avatar wseng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

maven-artifacts-uploader's Issues

If one item fails, no others following it are uploaded

In the stream chain:
files.filter(pomFilePredictor).peek(xmlReformer::prepareXmlToDeploy).forEach(mavenDeployer::deployArtifact);
if one prepareXmlToDeploy fails (let's say Null Pointer Exception), the whole stream fails and the rest of the files are not processed.

I've found the following solution:

files.filter(pomFilePredictor).filter(path -> {
   try {
        xmlReformer.prepareXmlToDeploy(path);
        return true;
    } catch (Exception e) {
        logger.error("Error uploading " + path + " : " + e);
        return false;
    }
}).forEach(mavenDeployer::deployArtifact);

I know those streams are pretty to write, but it was not uploading some 50+ assets because the first one had an error in the XML.

Possible performance improvement

Hi,
First let me start by thanking you for your great work.
I can't say I understand the code, but judging by the performance, I would assume that you are launching a separate maven process for each artifact that must be uploaded.
I'm curious whether these could be batched somehow, because on my computer it takes about 2 secs to upload each component and I'm guessing that this is just overhead from constantly starting new JVM processes.
I will keep digging, maybe I find an actual fix, but until then, I'd be glad to hear your opinion on this.
Best regards,
Sorin.

Excuse me, why am I running wrong? Can you say a little more?

`D:\Maven\nexus\maven-artifacts-uploader\bin>mvnUploader -d path D:\Maven\maven_repos_sms\com\alibaba
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set system property 'org.apache.logging.log4j.simplelog.StatusLogger.level' to TRACE to show Log4j2 internal initialization logging.
Exception in thread "main" com.google.inject.ProvisionException: Unable to provision, see the following errors:

  1. Error in custom provider, java.io.UncheckedIOException: there is problem with config.properties
    while locating apollo.modules.RepositoryIdProvider
    while locating java.lang.String annotated with @com.google.inject.name.Named(value=repositoryIdOption)
    for the 1st parameter of apollo.deploy_options.RepositoryIdOption.(RepositoryIdOption.java:15)
    while locating apollo.deploy_options.RepositoryIdOption
    for the 3rd parameter of apollo.modules.MavenCommandsProvider.(MavenCommandsProvider.java:22)
    while locating apollo.modules.MavenCommandsProvider
    while locating java.util.List<apollo.maven.MavenDeployOption>
    for the 1st parameter of apollo.maven.MavenCommandFactory.(MavenCommandFactory.java:17)
    while locating apollo.maven.MavenCommandFactory
    for the 1st parameter of apollo.maven.MavenDeployer.(MavenDeployer.java:21)
    while locating apollo.maven.MavenDeployer
    for the 2nd parameter of apollo.upload.MavenUploader.(MavenUploader.java:30)
    while locating apollo.upload.MavenUploader
    while locating apollo.upload.Uploader
    Caused by: java.io.UncheckedIOException: there is problem with config.properties
    at apollo.modules.RepositoryIdProvider.get(RepositoryIdProvider.java:29)
    at apollo.modules.RepositoryIdProvider.get(RepositoryIdProvider.java:14)
    at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
    at com.google.inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:72)
    at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
    at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:62)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:110)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:110)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268)
    at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:61)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:110)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:110)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:110)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268)
    at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:56)
    at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1019)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1085)
    at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1015)
    at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1054)
    at apollo.command_line.Main.main(Main.java:31)
    Caused by: java.nio.file.NoSuchFileException: D:\Maven\nexus\maven-artifacts-uploader\bin\conf\config.properties
    at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:79)
    at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
    at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
    at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:230)
    at java.nio.file.Files.newByteChannel(Files.java:361)
    at java.nio.file.Files.newByteChannel(Files.java:407)
    at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:384)
    at java.nio.file.Files.newInputStream(Files.java:152)
    at java.nio.file.Files.newBufferedReader(Files.java:2784)
    at java.nio.file.Files.newBufferedReader(Files.java:2816)
    at apollo.modules.RepositoryIdProvider.get(RepositoryIdProvider.java:26)
    ... 37 more

  2. Error in custom provider, java.io.UncheckedIOException: there is problem with config.properties file
    while locating apollo.modules.RepositoryUrlProvider
    while locating java.lang.String annotated with @com.google.inject.name.Named(value=urlOption)
    for the 1st parameter of apollo.deploy_options.UrlDeployOption.(UrlDeployOption.java:15)
    while locating apollo.deploy_options.UrlDeployOption
    for the 4th parameter of apollo.modules.MavenCommandsProvider.(MavenCommandsProvider.java:22)
    while locating apollo.modules.MavenCommandsProvider
    while locating java.util.List<apollo.maven.MavenDeployOption>
    for the 1st parameter of apollo.maven.MavenCommandFactory.(MavenCommandFactory.java:17)
    while locating apollo.maven.MavenCommandFactory
    for the 1st parameter of apollo.maven.MavenDeployer.(MavenDeployer.java:21)
    while locating apollo.maven.MavenDeployer
    for the 2nd parameter of apollo.upload.MavenUploader.(MavenUploader.java:30)
    while locating apollo.upload.MavenUploader
    while locating apollo.upload.Uploader
    Caused by: java.io.UncheckedIOException: there is problem with config.properties file
    at apollo.modules.RepositoryUrlProvider.get(RepositoryUrlProvider.java:26)
    at apollo.modules.RepositoryUrlProvider.get(RepositoryUrlProvider.java:11)
    at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
    at com.google.inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:72)
    at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
    at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:62)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:110)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:110)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268)
    at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:61)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:110)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:110)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268)
    at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
    at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
    at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:110)
    at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:90)
    at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:268)
    at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:56)
    at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1019)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1085)
    at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1015)
    at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1054)
    at apollo.command_line.Main.main(Main.java:31)
    Caused by: java.nio.file.NoSuchFileException: D:\Maven\nexus\maven-artifacts-uploader\bin\conf\config.properties
    at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:79)
    at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
    at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:102)
    at sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:230)
    at java.nio.file.Files.newByteChannel(Files.java:361)
    at java.nio.file.Files.newByteChannel(Files.java:407)
    at java.nio.file.spi.FileSystemProvider.newInputStream(FileSystemProvider.java:384)
    at java.nio.file.Files.newInputStream(Files.java:152)
    at java.nio.file.Files.newBufferedReader(Files.java:2784)
    at java.nio.file.Files.newBufferedReader(Files.java:2816)
    at apollo.modules.RepositoryUrlProvider.get(RepositoryUrlProvider.java:23)
    ... 37 more

2 errors
at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1028)
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1054)
at apollo.command_line.Main.main(Main.java:31)`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.