Commit Graph

2785 Commits

Author SHA1 Message Date
Karl Heinz Marbaise 3b671d0734 [MNG-5702] Wrong reactor summary output while using -T option
Fixed by using ConcurrentMap instead non synchronized ones.
2014-12-29 14:33:47 +01:00
Igor Fedorenko 6ab41ee8d3 MNG-5742 fixed null ComponentDescriptor#realm for extensions plugins
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-12-26 13:27:51 -05:00
Hervé Boutemy c239f6ea6f [MNG-5748] keep builderId on copy 2014-12-26 17:24:39 +01:00
Hervé Boutemy 328a777cd5 [MNG-5747] keep useLegacyLocalRepositoryManager on copy 2014-12-26 17:19:40 +01:00
Igor Fedorenko 1420d61c05 MNG-5742 fixed duplicate plugin realms when extensions=true
Consolidated plugin realm setup logic in DefaultMavenPluginManager.
Extensions realm is fully setup during project loading and the same
realm is used to both load extensions and execute plugin goals now.

Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-12-25 13:31:29 -05:00
Robert Scholte dbecf3b5cd Rename package so it has same structure as settings and model 2014-12-25 15:55:13 +01:00
Robert Scholte ceae922653 [MNG-3891] Modify maven-toolchain to look in ${maven.home}/conf/toolchains.xml and in ${user.home}/.m2/toolchains.xml
Also added new cmdline option: -gt / --global-toolchains
2014-12-25 14:55:02 +01:00
Jason van Zyl fa71e5f5ad [maven-release-plugin] prepare for next development iteration 2014-12-14 12:22:54 -05:00
Jason van Zyl 12a6b3acb9 [maven-release-plugin] prepare release maven-3.2.5 2014-12-14 12:22:35 -05:00
Hervé Boutemy 0252eb2a1f updated unit test 2014-12-13 18:09:45 +01:00
Hervé Boutemy 61f1d01ba8 since this class is new, immediately mark it package protected: it is
the implementation of JavaToolchain interface (even if the interface is
empty at the moment)
2014-12-13 17:52:31 +01:00
Hervé Boutemy 6f1bc80f3e added a notice about internal API 2014-12-13 15:18:31 +01:00
Igor Fedorenko d6e45a5d56 MNG-5719 reintroduced DefaultJavaToolChain
DefaultJavaToolChain was the only way to access JDK toolchain
javaHome parameter and was used by some clients, notably Tycho.
The class is now marked as deprecated and clients are adviced to
use JavaToolchainImpl instead.

Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-12-13 08:42:07 -05:00
Jason van Zyl 35c49f7a5e [maven-release-plugin] prepare for next development iteration 2014-12-12 16:14:40 -05:00
Jason van Zyl ed0e6acb01 [maven-release-plugin] prepare release maven-3.2.4 2014-12-12 16:14:23 -05:00
Igor Fedorenko 369889296e introduced RepositorySessionDecorator
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-11-25 19:11:00 -05:00
Igor Fedorenko c15226f13f decoupled project #file and #basedir to allow pom.xml processing
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-11-25 19:11:00 -05:00
Igor Fedorenko 8643e00993 introduced ProjectArtifactFactory component
this hides use of deprecated/legacy ArtifactFactory and allows custom
project dependency artifact creation logic.

Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-11-25 19:11:00 -05:00
Igor Fedorenko ce6f0bfdb5 MNG-5727 fixed cryptic exception when managed depenency has no <version>
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-11-25 19:11:00 -05:00
Robert Scholte 5c84bd33ba [MNG-5714] Add Merger for Maven Toolchain 2014-11-25 22:40:18 +01:00
Michael Osipov 0343c52601 Trimmed trailing whitespace 2014-11-23 13:04:30 +01:00
Hervé Boutemy b1b80f61a4 improved explanations 2014-11-15 02:50:38 +01:00
Hervé Boutemy e661aa87f5 improved javadoc and Java toolchain implementation class name (not a
Plexus component, then DefaultComponentName convention doesn't apply)
2014-11-08 22:43:09 +01:00
Hervé Boutemy 36d746789d make algo more visible 2014-11-08 21:53:16 +01:00
Hervé Boutemy bdf5770f95 improved documentation 2014-11-05 01:36:24 +01:00
Hervé Boutemy aef3b36c0e renamed DefaultJavaToolchainFactory to JavaToolchainFactory to ease
understanding: there is no JavaToolchainFactory Plexus component
2014-11-05 01:32:21 +01:00
Hervé Boutemy eddfef3394 improved javadoc 2014-11-05 01:24:32 +01:00
Hervé Boutemy b8d220c686 prepare provides before configuration, to follown descriptor logic 2014-11-05 01:23:26 +01:00
Hervé Boutemy 44174308a6 [MNG-5719] take the case change into account 2014-11-04 01:10:56 +01:00
Hervé Boutemy b013d97ceb [MNG-5719] renamed JavaToolChain to JavaToolchain for consistency and
removed its Plexus component declaration
2014-11-04 00:58:27 +01:00
Robert Scholte fa4f7040ad [MNG-5718] Change 'provides' from Object to Properties in toolchains.xml 2014-11-03 23:10:06 +01:00
Robert Scholte 01a879384c Add tests for equals() and hashCode() 2014-11-02 22:34:19 +01:00
Robert Scholte 21c13ca484 [MNG-5717] Enrich toolchain xml with merge information
Pushing version forward from 1.0.0 to 1.1.0
2014-11-02 21:15:50 +01:00
Robert Scholte 2d086fde25 remove unused import 2014-11-02 20:20:24 +01:00
Robert Scholte a131ac8d0a [MNG-5714] Add Merger for Maven Toolchain
implement equals() and hashCode() for DefaultToolchain to help the
Merger
2014-11-02 20:20:23 +01:00
Hervé Boutemy 2252862e2a [MNG-5716] return toolchains that are of expected type 2014-11-02 19:41:21 +01:00
Hervé Boutemy 24900f9301 [MNG-5713] fixed stupid typo due to JavaToolChain with C instead of c 2014-10-31 17:07:08 +01:00
Hervé Boutemy b0eb12b662 [MNG-5713] improved Toolchains API description 2014-10-31 16:51:23 +01:00
Hervé Boutemy 347ec7b6e7 [MNG-5712] improved toolchains descriptor documentation 2014-10-31 07:44:30 +01:00
Hervé Boutemy 366f57c563 updated parent pom (and fixed issues...) 2014-10-24 01:25:49 +02:00
Igor Fedorenko b80fb7d7ce MNG-5695 fixed inconsistent/incomplete custom guice scope bindings
MojoExecution scope was only available for maven plugins and could not
be used for components defined in maven core or maven code extensions.

Session scope was only available for maven core and core extensions
but did not work for components from maven plugins.

Made both custom scopes available available in all realms.

Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-09-26 21:55:30 -04:00
Kristian Rosenvold 3d2d8619b1 [MNG-5687] Parallel Builds can build in wrong order
Fixed JDK8 IT failure for MavenITmng3004ReactorFailureBehaviorMultithreadedTest#testitFailFastSingleThread

It turns out the execution order of the modules in the build can be incorrect, in some cases severely incorrect.
For parallel builds this can have all sorts of interesting side effects such as classpath
appearing to be intermittently incorrect, missing jars/resources and similar.

The -am options and -amd options may simply fail with the incorrect build order
because expected dependencies have not been built and actual dependencies may not have been built.

The underlying problem was that ProjectDependencyGraph#getDownstreamProjects and getUpstreamProjects
did not actually obey the reactor build order as defined by ProjectDependencyGraph#getSortedProjects,
even though the javadoc claims they should.

This has only worked by accident on earlier JDK's and might not have worked at all (basically
depends on Set iteration order being equal to insertion order). JDK8 has slightly different
iteration order, which caused the IT failure.

This problem may be the root cause of MNG-4996 and any other issue where the modules build
in incorrect order.

The bug affects:

parallel builds
command line -am (--also-make) option
command line -amd (also-make-dependents) option

On all java versions, although visibility might be somewhat different on different jdks.

Added simple unit test that catches the problem.
2014-09-10 16:22:21 +02:00
Igor Fedorenko 0ba8fa1258 enabled JSR330-only components in all unit tests
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-08-27 10:15:25 -04:00
Igor Fedorenko e67714aa26 sisu 0.3.0M1, sisu-guice 3.2.3
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-08-26 14:11:21 -04:00
Jason van Zyl 5fff038d71 MNG-5683: Expand session scope so that @SessionScoped components can be injected into lifecycle participants. 2014-08-26 13:25:03 -04:00
Hervé Boutemy ca2b26ac5d fix a lot of checkstyle violations for future m-checkstyle-p 2.13, as
proof of concept for misc violations suppressions strategies
2014-08-19 00:17:28 +02:00
Jason van Zyl 1ed1d8cd3d [maven-release-plugin] prepare for next development iteration 2014-08-11 13:55:03 -07:00
Jason van Zyl 33f8c3e102 [maven-release-plugin] prepare release maven-3.2.3 2014-08-11 13:54:57 -07:00
brianf 9216191869 default to ssl for central 2014-08-11 08:41:48 -04:00
Igor Fedorenko 693f8f6604 MNG-5677 hooks to allow fine-grained cache management
Also fixed broken cache #flush() and missing #dispose() in
couple of places.

Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
2014-08-08 22:28:06 +04:00
Igor Fedorenko 8980f67b9b MNG-5670 guard against ConcurrentModificationException iterating over System properties
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-07-30 07:57:53 +04:00
markdingram 61c3740425 Fixes MNG-5663 - a regression introduced in 3.2.2 by MNG-5639 that prevents nested import POMs from resolving their dependencies.
The cuplrit was the resetRepositories method in tandem with the repository
list instances being shared between ModelResolvers.

- The copy constructor for the ModelResolvers now creates new lists.
- The resetRepositories method has been removed. Instead there is a
'replace' parameter on the addRepository method that allows the
desired parameter replacement of MNG-5639 to take place.

Signed-off-by: Jason van Zyl <jason@tesla.io>
2014-07-18 19:30:32 -04:00
Jason van Zyl faa29dee78 MNG-5656: Update maven-compiler-plugin to 3.1 in the default-bindings.xml 2014-07-06 15:05:11 -04:00
Jason van Zyl 1a4c003a2b MNG-5349: Make sure lifecycles have and id. When we switch to JSR330 I would prefer to use private final fields in Lifecycle.java and use the Precondition.assertNotNull check. This will serve for now. 2014-07-05 22:04:11 -04:00
Jason van Zyl 6cf9320942 MNG-5661: First step toward an immutable Maven Project. This removes all compentry from MavenProject. There's a note at the top
of the class which describes the rest of the work.

check point
2014-07-05 16:15:36 -04:00
Jason van Zyl ce6fc6237a Adding a note about the deprecation 2014-07-05 16:05:06 -04:00
Jason van Zyl 9cc2caeb9f Deprecate unused version of the project dependencies resovler in the core 2014-07-05 08:18:38 -04:00
Igor Fedorenko 963373726d MNG-5655 deduplicate WeakMojoExecutionListener instances
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-06-26 09:07:30 -04:00
Kristian Rosenvold 4da87163f9 Added synchronization around copying system properties since they are a singleton,
fix for [MRRESOURCES-65] and similar problem in assembly
2014-06-20 17:16:52 +02:00
Jason van Zyl a18f5af192 [maven-release-plugin] prepare for next development iteration 2014-06-17 09:36:07 -04:00
Jason van Zyl 45f7c06d68 [maven-release-plugin] prepare release maven-3.2.2 2014-06-17 09:36:00 -04:00
Hervé Boutemy ffff00e908 fixed errors reported by Checkstyle 2014-06-16 18:30:24 +02:00
Christian Schulte 045bd1503b MNG-2199: Version ranges not supported for parent artifacts
Fixes #21
Signed-off-by: Jason van Zyl <jason@tesla.io>
2014-06-14 16:47:00 -04:00
Jason van Zyl e112cd89c7 MNG-3954: Remove the RuntimeInfo required in the setting.mdo 2014-06-13 12:07:11 -04:00
Jason van Zyl 661b4cf8f3 MNG-5620: LinkageError when CDI is in the classpath 2014-06-13 10:33:30 -04:00
Jason van Zyl 2a4d172600 MNG-5452: ${maven.build.timestamp} should use UTC instead of local timezone (or be configurable) 2014-06-13 10:25:37 -04:00
Jason van Zyl f1dcec88ae I inadvertently broke a test, my shell script doesn't check the failure and carried on. Sorry about that. 2014-06-12 10:29:47 -04:00
Jason van Zyl fc5cd37109 MNG-5346: update maven-plugin-plugin:descriptor default binding from generate-resources phase to process-classes 2014-06-12 02:57:02 -04:00
Mark Ingram 016932edbc MNG-5639: Support resolution of Import Scope POMs from Repo that contains a ${parameter}
Fix up previous

Signed-off-by: Jason van Zyl <jason@tesla.io>
2014-06-10 08:55:24 -04:00
Tamas Cservenak 18964baa25 Make sure participants and session scope exit are called
Even in case of failing build.

Signed-off-by: Jason van Zyl <jason@tesla.io>
2014-06-10 07:27:03 -04:00
Hervé Boutemy 73d35ba959 fixed errors reported by Checkstyle 2014-05-25 00:00:26 +02:00
Hervé Boutemy d402cc3dfc improved javadoc 2014-05-24 17:16:00 +02:00
Michael Osipov 0499d1d36a Merged https://github.com/apache/maven/pull/14. This closes #14. 2014-05-24 15:13:59 +02:00
Pavel Sorokin bd27f7814f MNG-5625: Fix typo 2014-05-24 12:29:09 +02:00
Pavel Sorokin 9468599ca3 MNG-5625: Correct the wording of the log message 2014-05-24 12:22:08 +02:00
Hervé Boutemy adc6d52361 extended javadoc 2014-05-24 11:21:21 +02:00
Pavel Sorokin 7a3e1ad740 MNG-5625: Provide a terse information about the used thread builder 2014-05-23 16:08:25 +02:00
Igor Fedorenko 702acd2e8b MNG-5578 fixed guice OutOfScopeException during multithreaded build
This was a regression since 3.2.1 introduced by my commit 48fec944

Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-05-22 14:55:28 -04:00
Jason van Zyl bef7fac6e3 [MNG-5613] fix NullPointerException when error occur during project dependency graph creation
Submitted by: Sebastian Le Merdy <sebastian.lemerdy@gmail.com>
From: https://github.com/apache/maven/pull/13
2014-05-20 20:26:27 -04:00
Hervé Boutemy b527490517 removed unused imports 2014-05-10 16:19:28 +02:00
Igor Fedorenko ac8e59ac60 MNG-5591 use 'reactor' hint for reactor WorkspaceReader
When maven is invoked from m2e, container.lookup(WorkspaceReader.class)
returns component with role-hint=ide, which I believe is a bug in Susi
or Guice (or at least well misunderstood feature). This masks
ReactorReader workspace reader implementation and breaks reactor
dependency resolution.

The solution is to use explicit "reactor" role hint for ReactorReader.
This avoids fuzzy default component lookup logic and guarantees reactor
reader is always used regardless of presence of other workspace readers.

Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-02-28 23:54:51 -05:00
Igor Fedorenko 48fec9440d MNG-5578 cleanup redundant session binding in mojo executin scope
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-02-28 21:15:42 -05:00
Jason van Zyl 969a35dd42 Add a provisional marker to the Builder interface and add a bit of javadoc. 2014-02-15 10:42:57 -05:00
Jason van Zyl cd55c4fcbe [maven-release-plugin] prepare for next development iteration 2014-02-14 12:32:50 -05:00
Jason van Zyl ea8b2b0764 [maven-release-plugin] prepare release maven-3.2.1 2014-02-14 12:32:44 -05:00
Jason van Zyl 9459c0a9f3 Move the POMs back the 3.2.1-SNAPSHOT 2014-02-14 12:14:35 -05:00
Jason van Zyl e4d073b681 [maven-release-plugin] prepare for next development iteration 2014-02-14 12:00:12 -05:00
Jason van Zyl 1ef536c7b8 [maven-release-plugin] prepare release maven-3.2.1 2014-02-14 12:00:04 -05:00
Igor Fedorenko 0f1fcd7066 Revert "MNG-5552 made classifier part of MavenProject.artifactMap key"
This reverts commit f35698c790.

There are plugins that rely on the broken behaviour and I don't have the
time to fix this in backwards compatible way right now.

http://markmail.org/message/gjfuofw5gpsr5yxz

Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-02-13 21:41:07 -05:00
Jason van Zyl 30fadd074e Fix for multithreading configuration where you have something like -TC2.2 2014-02-12 11:43:51 -05:00
Jason van Zyl d8c57c441d [maven-release-plugin] prepare for next development iteration 2014-02-10 19:55:28 -05:00
Jason van Zyl 9f109b6047 [maven-release-plugin] prepare release maven-3.2.0 2014-02-10 19:55:21 -05:00
Jason van Zyl bc9bd89838 Roll back to 3.2.0-SNAPSHOT 2014-02-10 19:51:43 -05:00
Olivier Lamy bc3f5dcc8e add missing license header 2014-02-11 11:37:33 +11:00
Jason van Zyl 1bf4b9e3e6 [maven-release-plugin] prepare for next development iteration 2014-02-10 18:27:37 -05:00
Jason van Zyl ffe7dc4073 [maven-release-plugin] prepare release maven-3.2.0 2014-02-10 18:27:30 -05:00
Jason van Zyl 8d489a2deb MNG-5582: Continue to track all the projects in the reactor even if the set is constrained by --projects 2014-02-10 14:56:06 -05:00
Igor Fedorenko f8afa711df MNG-5581 Introduced LifecycleMappingDelegate extension point
LifecycleMappingDelegate allows extension points provide custom
lifecycle mapping logic. The main usecase is to allow lifecycle
that reuse plugin configuration from default lifecycle. For
example "test-only" lifecycle will only run mojos bound to
tests phase of default lifecycle and nothing else.

Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-02-09 22:09:34 -05:00
Jason van Zyl 1d84cbeffa MNG-5578: Make the workspace reader pluggable by creating a session scope where the MavenSession created can be injected in implementations that have the @SessionScoped annotation 2014-02-09 21:52:35 -05:00
Kristian Rosenvold 276c7636d3 Removed the remaining weave mode code 2014-02-09 13:52:22 +01:00