Git Product home page Git Product logo

Comments (9)

GregDomjan avatar GregDomjan commented on August 11, 2024

[WARNING] *****************************************************************
[WARNING] * Your build is requesting parallel execution, but project *
[WARNING] * contains the following plugin(s) that are not marked as *
[WARNING] * @threadsafe to support parallel building. *
[WARNING] * While this /may/ work fine, please look for plugin updates *
[WARNING] * and/or request plugins be made thread-safe. *
[WARNING] * If reporting an issue, report it against the plugin in *
[WARNING] * question, not against maven-core *
[WARNING] *****************************************************************

from nar-maven-plugin.

dscho avatar dscho commented on August 11, 2024

@GregDomjan I am unfamiliar with that flag... or with weave for that matter...

from nar-maven-plugin.

GregDomjan avatar GregDomjan commented on August 11, 2024

@dscho
Parallel build (-T option) was added in maven 3, part of that was a new form of parallel build called weave (W arg) which would attempt to start building modules sooner when modules reach end of compilation phase and end of test phase

  • standard parallel builds modules that have all dependencies fully satisfied completed to selected phase
  • weave build will allow projects to start building when their dependencies have reached end of compile phase, allowing compilation of follow on items while a build is still running test and package.

This depends on changes similar to issue #71 so that dependent projects will be able to find the content to compile against.
There are also other issues to be resolved such as thread safety, overlapped nar unpack to common folder and ?

from nar-maven-plugin.

GregDomjan avatar GregDomjan commented on August 11, 2024

https://cwiki.apache.org/confluence/display/MAVEN/Parallel+builds+in+Maven+3

Mojo thread safety assertion checklist
Sometimes it can be hard to determine if a plugin and the underlying libraries are thread-safe, so when adding @threadsafe the following checklist can be used:

  • Check all static fields/variables in plugin/plugin code are not subject to threading problems.
    You might want to pay special attention to static member variables of the subclasses of "java.text.Format" (NumeberFormat, DateFormat etc), most of which
    are not threadsafe and cannot be shared as static variables.
  • Check any plexus components.xml; if the components defined are singletons they need to be threadsafe.
  • Check for presence of known tainted libraries.
  • Check thread safety of any other third party libraries. This last item can be a bit hard, but inquiries on mailing lists can get you a long way.
    This checklist qualifies for a "simple thread safety" review of a mojo.

Known dependencies appear to be ok
http://jira.codehaus.org/browse/MSHARED-148
Due to PLXCOMP-149, PLXUTILS-130 and PLXUTILS-131, the following libraries must be updated to at least the specified versions:
plexus-utils version 2.0.5 or higher (already selected)
plexus-io version 1.0 or higher (only used by plexus archiver)
plexus-archiever version 1.0 or higher (already selected)

maven-archiver 2.4.1 or higher - unused as far as I can see
Using dependency:tree -Dverbose -Dincludes=org.apache.maven:maven-archiver

Code issues
CPPTasks
Has a variety of static class variables, needs more detail check if they are all final or might actually change.

NarProperties has singleton instance, not good for multi thread

private static NarProperties instance;

StreamGobbler needs check

private static final class StreamGobbler

from nar-maven-plugin.

dscho avatar dscho commented on August 11, 2024

Is it just me, or are we already using weave correctly? I was recently surprised to see that one of my own projects was built using a nice progress counter. OTOH I could not tell whether it was building in parallel because it was too fast.

from nar-maven-plugin.

dscho avatar dscho commented on August 11, 2024

I guess I mistook the Ant way to do parallel builds for weave builds.

But I fear that I really want to close this ticket. It seems not to go anywhere.

from nar-maven-plugin.

GregDomjan avatar GregDomjan commented on August 11, 2024

Still an issue for us though I've had no time to work on anything maven for a while.
I believe issue #122 also relates to a part of this.

from nar-maven-plugin.

dscho avatar dscho commented on August 11, 2024

I believe issue #122 also relates to a part of this.

@GregDomjan quite possible.

Still an issue for us though

I am assigning this ticket to you, then.

from nar-maven-plugin.

ctrueden avatar ctrueden commented on August 11, 2024

Let's discuss on the maven-nar list.

from nar-maven-plugin.

Related Issues (20)

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.