Comments (9)
[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.
@GregDomjan I am unfamiliar with that flag... or with weave for that matter...
from nar-maven-plugin.
@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.
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.
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.
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.
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.
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.
Let's discuss on the maven-nar list.
from nar-maven-plugin.
Related Issues (20)
- optionSet adding quotes to command output HOT 2
- Failed to execute goal com.github.maven-nar:nar-maven-plugin:3.2.3:nar-compile HOT 3
- Various issues prevent fixing javah for jdk11+
- NarUtil#getAOL(...) incorrectly throws a NullPointerException when passed a null linker HOT 1
- MSVC: VS2019 is not recognized HOT 12
- multi-binding types (shared/static) - shared preferred method is overwritten by addition of static HOT 1
- MSVC x86 architecture builds on x64 host do not compile. HOT 3
- MSVC resource files cause the build to fail with a NullPointer exception
- Support Apple M1 chips. HOT 7
- How to use this plugin ? Made me mad really HOT 1
- Wrong assignment in NarUtil.parseOctalPermission
- Windows build appears to switch from AOL to using System props instead within the build HOT 2
- variable substitutions in NarProperties (aol.properties) does not work
- Fortify scan is not supported HOT 2
- [windows] build error HOT 1
- Certain gcc/g++ arguments being passed through to linker HOT 1
- Support armv8 for kylin 4.0.2
- Doess nar-maven-plugin works for aarch64 linux? HOT 6
- Plugin depends on the deprecated Maven 2.x compatibility layer, which may not be supported in Maven 4.x
- Does Maven support compiling on armοΌ HOT 5
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 nar-maven-plugin.