Commit Graph

3353 Commits

Author SHA1 Message Date
Mickael Istria 809cac2266 [MNG-6723] MavenProject.getParentFile() not set when using ProjectBuilder.build()
This closes #273
2019-07-26 22:16:49 +02:00
Guillaume Nodet 7ba9700386 [MNG-6698] Lazily compute the ManagedVersionMap
This map is not used by Maven and the computation can be quite heavy, so lazily
compute it. In addition, do not clone the map as it's an unmodifiable one already.

This closes #263
2019-07-07 00:30:10 +02:00
Bo Zhang 84bf1877f0 [MNG-6700] Equal compile source roots are added multiple times
This closes #266
2019-07-06 18:27:47 +02:00
Joseph Walton 353d3eaa8f [MNG-6685] Convert Maven Model Builder to JSR 330
This closes #256
2019-06-23 00:20:54 +02:00
Christian Schulte c2f13f7e87 [MNG-6675] Make Resolver debug log messages for projects and plugins consistent
This closes #124 and closes #253
2019-06-15 20:12:36 +02:00
MartinKanters aed5130487 [MNG-6665] toolchain.xml file should support environment variables 2019-06-08 10:43:12 +02:00
Stephen Connolly 01405a2d60
[MNG-6667] Enhance the error reporting when trying to build a modelVersion that the current Maven doesn't understand 2019-06-03 21:33:44 +01:00
Stefan Oehme d3ace78602 [MNG-6638] Prevent reparsing POMs in MavenMetadataSource
If a dependency on another project is found, don't parse its
POM again, but instead use the model we already have in memory.
This saves a large amount of time and memory for builds that have
lots of subprojects and dependencies between them.
The approach was directly copied from DefaultArtifactDescriptorReader,
which does the same optimization.

This closes #244
2019-05-27 23:11:09 +02:00
Sylwester Lachiewicz 6c01ec18cb [MNG-6633] - Reduce memory usage of excludes - fix rat/checkstyle errors 2019-05-25 14:26:09 +02:00
Stefan Oehme 790dc0f2b7 [MNG-6633] - Reduce memory usage of excludes
ExcludesArtifactFilter was highly inefficient.
It took the group and artifact ID of an Exclusion, concatenated them into
a new String, which was kept in memory for the whole duration
of the build and then compared that String against the concatenation
of group and artifact ID of each incoming artifact, adding more
CPU cycles than necessary.

Instead we now just wrap the existing Exclusion object and check its
groupId and artifactId against the artifact to tell whether it should
be excluded.

The old class is kept around for binary compatibility, but is now unused.

Closes #243
2019-05-25 13:12:47 +02:00
Sergey Chernov 1a18eb6c9c [MNG-6626] fix DefaultExceptionHandler NPE
Closes #241
2019-05-13 09:43:56 +02:00
Stefan Oehme 1e03388d5b [MNG-6632] - Remember artifact handlers after they've been used once
Otherwise we have to go through the whole sisu engine again,
which is very slow, because it does a linear scan.
2019-04-27 18:23:00 +02:00
Joseph Walton fdde73fcb4 Remove unused code that triggers Error Prone (#245)
Running Error Prone over Maven triggers an infinite recursion
check in AbstractCoreMavenComponentTestCase.PluginBuilder
2019-04-20 16:08:06 +02:00
Sylwester Lachiewicz 763f76cf83 [MNG-6642] Revert "[MNG-5995] Remove dependency to maven-compat (#185)"
This partially reverts commit bb3ec5da71 to restore working with Tycho P2 repository.
2019-04-20 00:10:59 +02:00
Jesse Glick 0940c7c973 [MNG-6405] Fix basedir in MavenProject.deepCopy (#225)
* [MNG-6405] Fix basedir in MavenProject.deepCopy.

* Reproduced bug in test.
Failure without patch:
junit.framework.AssertionFailedError: Base directory is preserved across clone expected:<…/maven-core/target/test-classes> but was:<…/maven-core/target/test-classes/target>
	at org.apache.maven.project.MavenProjectTest.testCloneWithBaseDir(MavenProjectTest.java:188)

* Code style. Not enforced in tests during build?
2019-04-16 21:28:03 +10:00
Karl Heinz Marbaise 5222f03d05
[maven-release-plugin] prepare for next development iteration 2019-04-04 20:56:37 +02:00
Karl Heinz Marbaise d66c9c0b31
[maven-release-plugin] prepare release maven-3.6.1 2019-04-04 20:56:16 +02:00
Romain Manni-Bucau 0ba5753c17 [MNG-6618] adding org.slf4j.event in exported packages
Based on MNG-6360
2019-04-01 11:55:58 +02:00
Hervé Boutemy 4bec5502d5 [MNG-6600] add inputlocation tracking for default lifecycle executions 2019-03-11 23:44:31 +01:00
Michael Osipov 9dd4732b74 Revert "[MNG-6548] Lifecycle plugin version upgrades"
This reverts commit 33e4f201d3.
Commit will be postponed to 3.7.0.
2019-02-17 20:30:25 +01:00
Sylwester Lachiewicz bb3ec5da71 [MNG-5995] Remove dependency to maven-compat (#185)
No implementation for deprecated Maven 2.x RepositorySystem interface
2019-01-26 14:37:51 +01:00
Hervé Boutemy 24c762d7c3 [MNG-6533] catch InvalidArtifactRTException runtime exception
instead of global Exception that may hide too many cases
2019-01-14 14:30:06 +01:00
Mickael Istria 27332cfab0 [MNG-6533] ProjectBuilder report ModelProblem instead of Exception
Sending ModelProblems allows to keep processing other pom files.
2019-01-14 13:55:45 +01:00
Mickael Istria 8b7055fe3f [MNG-6533] Prefer passing the interim project in ProjectBuildingResult
Initialize the interim project with "simple" items (ie do not build
not reference parent if it's not yet in the projectIndex) and returns
it when installation fails further.
This give a partial validation of the file, pretty convenient in IDEs.
2019-01-14 13:55:45 +01:00
Mickael Istria ae1c32aa09 [MNG-6533] Test: ProjectBuildingException miss reference to MavenProject 2019-01-14 13:55:44 +01:00
Hervé Boutemy 049b7a7ba8 refactoring: reduced try/catch scope 2019-01-14 13:52:03 +01:00
Hervé Boutemy 2928dc6b68 refactoring: extracted initParent() method 2019-01-14 13:52:03 +01:00
Hervé Boutemy fdf5d921a3 renamed variables for better understanding 2019-01-13 19:18:30 +01:00
Mickael Istria d9facde3bc [MNG-6530] Introduce system property to disable global model cache
The global model cache introduced in MNG-6311 causes severe regressions
in case of POM files changing during application lifetime.
This patch adds a system property
`defaultProjectBuilder.disableGlobalModelCache` that disables this global
model cache when set to true, ensure pom modifications are honored.

This closes #194
2019-01-08 15:25:27 +01:00
Michael Osipov 33e4f201d3 [MNG-6548] Lifecycle plugin version upgrades
* Upgrade to Maven Clean Plugin 3.1.0
* Upgrade to Maven Site Plugin 3.7.1
2019-01-07 13:23:57 +01:00
Josh Soref 71128cb6c0 spelling: vertices
This closes #102
2018-12-28 15:07:21 +01:00
Michael Osipov c7ab9876f5 [MNG-6544] Replace CacheUtils#{eq,hash} with Objects
This closes #195
2018-12-27 21:41:59 +01:00
Duarte Meneses c6bdafed23 [MNG-5965] Parallel build multiplies work if multiple goals are given
This closes #125
2018-12-26 15:24:16 +01:00
Mickael Istria 732e7de893 [MNG-6529] ProjectBuilder.build(List<Project> ...) honor
request.isResolveDependency
2018-12-18 09:04:17 +01:00
Sylwester Lachiewicz 78f605e377 [MNG-6515] Fix Javadoc build errors 2018-11-12 17:23:56 +01:00
Karl Heinz Marbaise 6e376d424e
[maven-release-plugin] prepare for next development iteration 2018-10-24 20:38:30 +02:00
Karl Heinz Marbaise 97c98ec64a
[maven-release-plugin] prepare release maven-3.6.0 2018-10-24 20:38:06 +02:00
HoaPhan ba74b96633
[MNG-6492] - Minor improvement on Array construction, conversion performance 2018-10-24 18:07:13 +02:00
Christian Schulte 44826ab446 [MNG-6164] Collections inconsistently immutable
Make non-empty collections returned immutable just like those returned by
java.util.Collections.
2018-10-09 22:12:50 +02:00
rfscholte 7c1e7129b1 [MNG-6415] Project Artifacts Cache does not retain the order of classpath entries. 2018-09-24 19:50:39 +02:00
Sylwester Lachiewicz 8bc3c207d0 [MNG-6311] Implement class-level ModelCache in DefaultProjectBuilder to solve slow pom resolutions
Fix by: David Churcher
2018-09-14 18:43:47 +02:00
Phillip Webb 01f098efd1
[MNG-6475] Remove unused Guava dependencies 2018-09-13 20:45:25 +02:00
Hervé Boutemy f5674713a6 improved documentation 2018-08-12 00:01:17 +02:00
rfscholte 72dca39807 Replace org.apache.commons.lang3.Validate#notNull with java.util.Objects#requireNonNull 2018-07-15 10:36:08 +02:00
Stephen Connolly bf0bd6350e Master is now on 3.6.0-SNAPSHOT 2018-06-17 22:38:49 +01:00
Stephen Connolly 1efd571b0a [maven-release-plugin] prepare for next development iteration 2018-06-17 19:29:56 +01:00
Stephen Connolly 1edded0938 [maven-release-plugin] prepare release maven-3.5.4 2018-06-17 19:29:25 +01:00
Łukasz Dywicki 454a4e7954 [MNG-6411] Improve readability of project list returned when --resume-from option value is invalid
This closes #164
2018-05-18 22:47:24 +02:00
Michael Osipov 8e0efaa107 [MNG-6386] ${project.baseUri} is not a valid URI (according to RFC 3986)
File#toURI()#toString() produces a non-compliant URI making tools like
Subversion or Git to choke on those URIs. Whereas Path#toUri()#toASCIIString()
does the right job.
2018-05-07 22:35:43 +02:00
Michael Osipov 5beb347f41 Fix missing/improper use of @link
This closes #132
2018-05-05 22:56:09 +02:00
Sylwester Lachiewicz faa9ef0cd3 [MNG-6370] ConcurrencyDependencyGraph#getNumberOfBuilds() does not remove finished projects from unfinished ones
This closes #161
2018-03-07 23:58:20 +01:00
Stephen Connolly 85b4e3d8e8 [maven-release-plugin] prepare for next development iteration 2018-02-24 19:29:56 +00:00
Stephen Connolly 3383c37e1f [maven-release-plugin] prepare release maven-3.5.3 2018-02-24 19:29:21 +00:00
Sylwester Lachiewicz b8c06e61ab Remove Google Guava usage (move to Java7) 2018-02-11 11:54:17 +01:00
Sylwester Lachiewicz d925081794 Reduce number of global checkstyle rule violations
Fix code for following checkstyle rules:
ConstantName, FileLength, InnerAssignment, JavadocType, MagicNumber, MethodLength, MethodName, NewlineAtEndOfFile, ParameterNumber, RedundantThrows, VisibilityModifier

Fixes #149
2018-02-11 11:41:16 +01:00
Hervé Boutemy 0dc70cc691 upgrade m-site-p to 3.7 + Fluido 1.7 + edit button 2018-02-10 11:42:33 +01:00
Hervé Boutemy cf7b0a3ec0 fixed new issues reported by Checkstyle 6.18 2018-02-10 11:42:33 +01:00
Sylwester Lachiewicz a03489b67d [ MNG-6335] Update Mockito to 2.12.0
Also change scope to test
2018-02-09 00:20:03 +01:00
Bengt Söderberg 6285bb96c5 [MNG-6298] 3.5.2: ClassNotFoundException: javax.annotation.security.RolesAllowed
Adding exportedPackage to find class:
javax.annotation.security.RolesAllowed

First maven commit :) Works but might be deeper issue

Signed-off-by: Karl Heinz Marbaise <khmarbaise@apache.org>
Now with correct issue reference.
2018-01-19 19:40:50 +01:00
Karl Heinz Marbaise 42918c37c5 Revert "[MNG-6296] 3.5.2: ClassNotFoundException: javax.annotation.security.RolesAllowed"
This reverts commit c311e0d812.
2018-01-18 20:18:32 +01:00
Bengt Söderberg c311e0d812 [MNG-6296] 3.5.2: ClassNotFoundException: javax.annotation.security.RolesAllowed
Adding exportedPackage to find class:
javax.annotation.security.RolesAllowed

First maven commit :) Works but might be deeper issue

Signed-off-by: Karl Heinz Marbaise <khmarbaise@apache.org>
2018-01-17 19:16:02 +01:00
rfscholte 98af937bc6 [MNG-6300] Multi module release creates empty directories in war file instead of jars 2017-12-22 14:25:46 +01:00
Stephen Connolly 3d0efa3696 [maven-release-plugin] prepare for next development iteration 2017-10-18 08:55:05 +01:00
Stephen Connolly 138edd61fd [maven-release-plugin] prepare release maven-3.5.2 2017-10-18 08:54:47 +01:00
Stephen Connolly 4b95ad9fce Revert "MNG-6209 better executeMojo thread context classloader"
This reverts commit ec629f7d51.
2017-10-17 19:18:43 +01:00
Stephen Connolly cae779e4fb Revert "[MNG-6275] Maven Embedder compatible fix"
This reverts commit 27a2bda3f4.
2017-10-17 19:17:17 +01:00
Stephen Connolly 542a7a8915 [MNG-6275] Defang the tests when their core assumption is invalid.
- The tests assume that the JRE has a ScriptEngineFactory
- Not all JREs have a ScriptEngineFactory (I'm looking at Azul's Zulu Open JDK 7 builds)
- Ideally we'd skip these tests using Assume.assumeThat(...) but PlexusTestCase doesn't support
  AssumptionViolatedException for marking tests as skipped.

Issue identified during testing of the 3.5.1 release candidate
2017-09-11 10:25:11 +01:00
Stephen Connolly 312eb53502 [maven-release-plugin] prepare for next development iteration 2017-09-10 12:51:43 +01:00
Stephen Connolly 094e4e31a5 [maven-release-plugin] prepare release maven-3.5.1 2017-09-10 12:51:26 +01:00
Stephen Connolly 27a2bda3f4 [MNG-6275] Maven Embedder compatible fix
- Need to use PARENT_CLASSLOADER so that when used by embedder we get a
consistent view of the available classes

- Restores test case from f047ea1437
2017-09-09 11:56:27 +01:00
rfscholte 170c1ed82c Revert "Squashed commit of the following:"
This reverts commit f047ea1437.
2017-08-30 11:12:20 +02:00
rfscholte f047ea1437 Squashed commit of the following:
commit c829bdcfc275b207e23fc568b3c16d98195675be
Author: rfscholte <rfscholte@apache.org>
Date:   Thu Aug 24 10:54:08 2017 +0200

    [MNG-6275] ServiceLoaderFactory can't find implementations via ClassRealm
2017-08-24 11:33:01 +02:00
Mario Krizmanic f1ed6592b1 [MNG-6127] Fix plugin execution configuration interference
Signed-off-by: rfscholte <rfscholte@apache.org>
2017-08-15 21:46:29 +02:00
Guillaume Boué a1fe421995 [MNG-6240] Duplicate components in plugin extension realm when plugin depends on maven-aether-resolver
Maven Core needs to export the maven-aether-provider artifact so that its components do not get added twice in plugin realm. This happens if the build uses an extension plugin depending on maven-aether-provider, before it was renamed to maven-resolver-provider
2017-06-14 19:55:41 +02:00
Dan Tran a7dddcb876 [MNG-6084] Support JSR 250 annotations 2017-05-25 20:05:35 +02:00
Hervé Boutemy 44634982a1 improved modello and animal sniffer's execution ids 2017-05-21 19:14:54 +02:00
Michael Osipov ecef59f1cb [MNG-6167] Clean up dependency mess (reported by dependency:analyze)
Clean up compile and runtime dependencies. Test dependencies have not been
touched because their seem to be false positives due to DI.
2017-05-16 15:27:22 +02:00
Christian Schulte f4ede96fd0 [MNG-5935] Optional true getting lost in managed dependencies when transitive
Updated to correctly map the optional flag of Maven model dependencies to
Aether dependencies. Prior to this change all managed dependencies implicitly
had the optional flag set to 'false' leading to Aether managing that flag to
'false' on all managed dependencies when transitive.
2017-05-10 10:36:19 +02:00
Michael Osipov fd988e78e9 [MNG-6228] Optionality not displayed in dependency tree when run in debug mode
Log message in DefaultProjectDependenciesResolver has been extended with
"(optional)" if dependency is marked as optional (direct or transitive).
2017-05-09 22:15:21 +02:00
Anton Tanasenko be22380893 Add a ProjectArtifactsCache similar to PluginArtifactsCache
Signed-off-by: Jason van Zyl <jason@vanzyl.ca>

closes #82
2017-05-05 22:08:16 +02:00
Igor Fedorenko ec629f7d51 MNG-6209 better executeMojo thread context classloader
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2017-04-13 14:12:23 -07:00
Stephen Connolly a4b0b63b62 [maven-release-plugin] prepare for next development iteration 2017-04-03 20:35:47 +01:00
Stephen Connolly ff8f5e7444 [maven-release-plugin] prepare release maven-3.5.0 2017-04-03 20:35:30 +01:00
Christian Schulte 8400984ac5 [MNG-6112] Central repository in the 4.0.0 super POM should declare update policy 'never'.
This reverts commit 13adc1bc2b *not changing
anything* just because someone did not react in time when this issue had been
lying around on a branch. If we would set pace for the industrie, everyone would
still be using 5.25" floppy disks and 8 bit hardware and we would tell them
that upgrading to be able to use new software would be too risky and they
better keep theire broken assembly routines until the machine goes up in
smoke.
2017-03-25 20:53:06 +01:00
Christian Schulte 0931bb2cc7 [MNG-6168] Fix unclosed streams 2017-03-24 22:04:37 +01:00
Christian Schulte 13adc1bc2b [MNG-6112] Central repository in the 4.0.0 super POM should declare update policy 'never'. 2017-03-21 00:30:28 +01:00
Christian Schulte d54e6f91a8 s/@since 3.5.0-alpha-2/@since 3.5.0/g 2017-03-21 00:21:43 +01:00
Stephen Connolly fd29ddebf9 [maven-release-plugin] prepare for next development iteration 2017-03-20 16:55:53 +00:00
Stephen Connolly 214540c2ae [maven-release-plugin] prepare release maven-3.5.0-beta-1 2017-03-20 16:55:36 +00:00
Christian Schulte f1ccecdd89 [MNG-6182] ModelResolver interface enhancements.
o Added unit tests for the 'ModelResolver' interface.
2017-03-19 04:01:34 +01:00
rfscholte 0e7e3eeb59 [MNG-6176] Javadoc errors prevent release with Java 8
Upgrade to modello-1.9.1
Fix javadoc errors in tests
2017-03-18 12:55:05 +01:00
Christian Schulte da03d6b031 [MNG-6183] Dependency management debug message corrections. 2017-03-14 19:20:47 +01:00
Karl Heinz Marbaise ab2e24fe36 Fixed checkstyle reported error. 2017-03-11 18:40:24 +01:00
Hervé Boutemy 24b9ef48f6 fixed typos 2017-03-11 18:19:02 +01:00
Karl Heinz Marbaise 7cdff43aba [MNG-6170] NPE in cases using Multithreaded -T X versions:set
-DnewVersion=1.0-SNAPSHOT
 o In some cases the code will return a null which should
   not be scheduled.
2017-03-11 12:00:24 +01:00
rfscholte 587317b009 [MNG-6176] Javadoc errors prevent release with Java 8
Upgrade modello to 1.9.0
Fix invalid Javadoc
2017-03-10 16:17:28 +01:00
rfscholte 8f025faab8 [MNG-6180] groupId has plain color when goal fails 2017-03-10 10:48:41 +01:00
Christian Schulte 34afec69c8 [MNG-6183] Dependency management debug message enhancements.
o Updated to add debug log messages about optional flag management.
2017-03-08 19:37:31 +01:00
Christian Schulte ab800b0cfa [MNG-6182] ModelResolver interface enhancements. 2017-03-08 18:24:18 +01:00
Christoph Böhme 114ef6c5a2 [MNG-6173] MavenSession.getAllProjects() should return all projects in the reactor
This commit removes the initialization of the MavenSession object from the
DefaultGraphBuilder. The GraphBuilder implementation should only build the
graph and should not touch the MavenSession object passed into it.

To allow complete initialization of the MavenSession the ProjectDependencyGraph
interface got enhanced so that GraphBuilder implementations can communicate all
collected projects in addition to the processed list of projects.

This closes #105
2017-03-06 17:35:24 +01:00
Stephen Connolly e652882757 [maven-release-plugin] prepare for next development iteration 2017-02-23 14:56:31 +00:00
Stephen Connolly 8e6bbc4d4a [maven-release-plugin] prepare release maven-3.5.0-alpha-1 2017-02-23 14:56:21 +00:00
Hervé Boutemy 3982c195e9 [MNG-6171] always show WARNING about usage of a non threadsafe plugin 2017-02-18 17:36:38 +01:00
Michael Osipov b66bdb9cbc [MNG-6150] Javadoc improvements for 3.5.0
* Remove duplicate plugin configuration
* Add workaround for Javadoc locale
* Clean up errors reported by Javadoc 7

Note: Javadoc 8 fails immediately because Modello generates invalid
Javadoc
2017-02-15 17:30:46 +01:00
Christian Schulte 37fef3d762 [MNG-5967] Dependency updates 2017-02-11 16:36:46 +01:00
Alex Henrie 8d91726f78 [MNG-5934] String handling issues identified by PMD 2017-02-11 14:08:24 +01:00
Christian Schulte 0514c1b14e [MNG-2199] Support version ranges in parent elements
o Updated to fix parent version range resolution broken since 3.2.3 and to
  remove parent version range resolution logic obsolete since Maven
  3.2.3 which changed the initialization of MavenProject instances.
o Updated local parent resolution to behave the same way remote parent
  resolution behaves. When referencing a parent using version ranges,
  inheriting the version or using version expressions should not be supported.
  It has been implemented that way for remote parent resolution as it got
  introduced in Maven 3.2.2. For local parent resolution the version in parent
  declarations had been ignored completely as of Maven 3.3.0 due to commit
  be3fb20032 removing all local parent version
  validation. Work on fixing this is tracked by MNG-5840 released with Maven
  3.3.9. This commit adds the final missing bits to make local and remote parent
  resolution behave the same way as much as possible. As an exception, remote
  parent resolution still is a bit more strict than local parent resolution due
  to a different API in use. When resolving a parent from a repository using
  version ranges, the ModelBuilder verifies the range in use to declare an upper
  bound. When resolving a parent locally using version ranges, those ranges are
  not required to declare an upper bound because the API in use does not support
  querying that. Authoring a POM relying on this difference should be considered
  a bug.
o Added test cases to maven-core testing parent version range resolution for
  local and remote parent models.
2017-02-10 22:46:52 +01:00
Archimedes Trajano 66a0fbe495 [MNG-6166] mvn dependency:go-offline fails due to missing transitive dependency jdom:jdom:jar:1.1 2017-02-06 20:36:39 +01:00
Josh Soref 1be7ea893e [MNG-6165] Deprecate and replace incorrectly spelled public API
Spelling fixes:

* spelling: collector
* spelling: executions
* spelling: repositories
* spelling: workspace

This closes #101
2017-02-06 20:36:38 +01:00
Josh Soref 1740265984 [MNG-6146] Several small stylistic and spelling improvements to code and documentation
Spelling fixes:

* system
* tokenizer
* toolchain
* trailing
* transitive
* unsupported
* version
* artifact
* attachment
* codehaus
* colleagues
* comparison
* concurrency
* configure
* creation
* dependency
* descriptor
* downstream
* efficient
* e.g.
* elements
* encountered
* encounters
* environments
* executed
* explicitly
* happens
* hierarchical
* hierarchy
* ignore
* implemented
* implementers
* independence
* indicates
* inheritance
* inherited
* inherits
* install
* interface
* javascript
* laziness
* management
* maven
* metadata
* mgmt
* minimalist
* nonexistent
* objects
* overridden
* print
* project
* properties
* recessive
* referring
* repository
* representation
* retrieval
* retrieve
* rigorous
* should
* spontaneously
* subsequent

Literal fixes:

*  use static final values

Style fixes:

* use the proper term for char U+002D (-) hyphen(-minus) instead of dash

This closes #100
2017-02-03 10:12:28 +01:00
Christian Schulte 8972072e32 [MNG-6110] renamed 'maven-aether-provider' to 'maven-resolver-provider' 2017-02-01 07:59:53 +01:00
Harald Wellmann 4d6c9292c4 [MNG-6110] Upgrade Aether to Maven Resolver 1.0.3 2017-02-01 07:59:52 +01:00
Karl Heinz Marbaise 5a462344f9 [MNG-6014] Removing ArtifactHandler for ejb3
o Followup to MNG-5894 of Maven 3.3.9 where the maven-ejb3-plugin
   has been removed from life cycle.
 o Removed the ArtifactHandler for ejb3 cause without
   a bound life cycle it does not make sense.
 o Removed entry from artifact-handlers.apt site.
2017-01-30 09:20:07 +01:00
Karl Heinz Marbaise 4604c49ee4 [MNG-6092] warn if prerequisites.maven is used for non-plugin projects 2017-01-29 21:16:35 +01:00
Karl Heinz Marbaise 017dcaf22a [MNG-5993] Confusing error message in case of missing/empty
artifactId/groupId and version in pluginManagement
2017-01-29 21:12:49 +01:00
Guillaume Boué 5b4b8bd94c [MNG-6105] properties.internal.SystemProperties.addSystemProperties() is not really thread-safe
Refactoring the current code setting system properties to synchronize correctly on the given ones: avoids ConcurrentModificationException and NullPointerException if the properties is modified by another thread.
2017-01-28 14:07:59 +01:00
Christian Schulte 1e2a80eced [MNG-5883] Silence unnecessary legacy local repository warning
o Updated to decrease logging level from 'warning' to 'info'.
2017-01-26 20:30:37 +01:00
Stuart McCulloch 6b31c4a556 [MNG-5958] restore binary compatibility of Lifecycle.setPhases
While MNG-5805 restored binary compatibility of Lifecycle.getPhases
it didn't do the same for Lifecycle.setPhases. This breaks plugins
like flexmojos-maven-plugin which have their own lifecycle mapping
implementations.

This closes #77
2017-01-26 20:19:57 +01:00
Karl Heinz Marbaise f20a5d940b [MNG-5931] Fixing documentation
Removing references to ejb3-lifecycle and par-lifecycle
cause they have been removed with Maven 3.3.9.
2017-01-25 21:30:02 +01:00
Hervé Boutemy 512fa6a45b improved documentation 2017-01-25 00:07:55 +01:00
Hervé Boutemy 0b684af45e added core extensions documentation 2017-01-25 00:04:31 +01:00
Hervé Boutemy 84085c0a9c updated urls (https, plexus) and license header formatting 2017-01-24 23:50:10 +01:00
Karl Heinz Marbaise bc07e74d3c [MNG-6017] Removing ArtifactHandler for par LifeCycle
o Removed ArtifactHandler configuration for par lifeclyce
   which has been removed in Maven 3.3.9
   See MNG-5892
2017-01-24 20:21:55 +01:00
Karl Heinz Marbaise cfb075ac70 [MNG-6030] ReactorModelCache do not used effectively after maven version 3.0.5 which cause a large memory footprint
o Reintroduced ReactorModelCache reduces the memory footprint.
2017-01-24 20:19:10 +01:00
Hervé Boutemy b80915b882 [MNG-3507] added color to Maven execution output messages 2017-01-24 18:40:07 +01:00
Michael Osipov be5caccaff [MNG-6102] Introduce ${maven.conf} in m2.conf
Set maven.conf to default ${maven.home}/conf in ${maven.home}/bin/m2.conf
to have a canonical property pointing to global configuration files from
within Java code.

This also helps package maintainers to decouple the Maven installation
from a global configuration by solely modifying m2.conf instead of using
dirty hacks, if possible at all.
2017-01-23 20:54:54 +01:00
Michael Osipov 8373c79a47 [MNG-6138] Remove obsolete message_*.properties form maven-core 2017-01-22 21:37:57 +01:00
Guillaume Boué d413296cf3 [MNG-6117] ${session.parallel} not correctly set
MultiThreadedBuilder must set parallel to true when it's using more than
1 thread to build: i.e. a degree of concurrency greater than 1 (-T) and
more than 1 project to build. Since each ProjectSegment works on a
cloned session instance (see
BuildListCalculator#calculateProjectBuilds), the flag must be also set
on each cloned session.
2017-01-16 20:29:49 +01:00
Stephen Connolly bce33aa266 [MNG-6151] Set version to 3.5.0-SNAPSHOT 2017-01-04 09:12:47 +00:00
Jason van Zyl 737de43e39 [maven-release-plugin] prepare for next development iteration 2015-11-10 11:37:02 -05:00
Jason van Zyl bb52d8502b [maven-release-plugin] prepare release maven-3.3.9 2015-11-10 11:36:45 -05:00
Jason van Zyl 406a46fd83 [maven-release-plugin] prepare for next development iteration 2015-10-30 09:41:20 -07:00
Jason van Zyl cdd15915eb [maven-release-plugin] prepare release maven-3.3.8 2015-10-30 09:40:58 -07:00
Jason van Zyl 508d97ec87 [maven-release-plugin] prepare for next development iteration 2015-10-27 11:36:39 -07:00
Jason van Zyl d48a49b353 [maven-release-plugin] prepare release maven-3.3.7 2015-10-27 11:36:22 -07:00
Karl Heinz Marbaise 4497e2bb1e [MNG-5898] Multi-module build with ear fails to resolve war in 3.3.3
Added types of packaging which can used as dependencies in a
multi module build.
2015-10-21 00:36:04 +02:00
Karl Heinz Marbaise 20854ce7be Revert "[MNG-5898] Multi-module build with ear fails to resolve war in 3.3.3"
This reverts commits f3a3ef2 b9cc9c3 72e2478 all related to MNG-5898
2015-10-18 16:14:13 +02:00
Karl Heinz Marbaise f3a3ef2632 [MNG-5898] Multi-module build with ear fails to resolve war in 3.3.3
Followup to fix core IT's.
2015-10-16 20:27:23 +02:00
Michael Osipov 618e62dd33 [MNG-5649] Use Commons Lang's Validate to intercept invalid input
Use wherever possible Validate with consistent messages and exceptions.
2015-10-16 17:32:57 +02:00
Karl Heinz Marbaise b9cc9c3652 [MNG-5898] Multi-module build with ear fails to resolve war in 3.3.3
Followup to fix core IT's.
2015-10-16 17:25:00 +02:00
Karl Heinz Marbaise 72e2478ec5 [MNG-5898] Multi-module build with ear fails to resolve war in 3.3.3 2015-10-16 15:38:24 +02:00
Michael Osipov 7e2d657fa0 Make the non-canonical build revision display the time zone 2015-10-10 16:54:43 +02:00
Robert Scholte c8a200a725 Revert "[MNG-5901] Export org.eclipse.aether.util.artifact.SubArtifact"
This reverts commit 89058b3ac8.
2015-10-04 19:39:01 +02:00
Robert Scholte 89058b3ac8 [MNG-5901] Export org.eclipse.aether.util.artifact.SubArtifact 2015-10-04 14:40:35 +02:00
Arnaud Héritier dfed29cc66 MNG-5787,MNG-5842,MNG-5845: Add missing org.slf4j.helpers.* export which is provided slf4j-api
It broke various plugins with missing classes ( org.slf4j.helpers.MarkerIgnoringBase, org.slf4j.helpers.MessageFormatter ) like:
* net.java.truelicense:truelicense-maven-plugin (2.3.4)
* com.github.eirslett:frontend-maven-plugin (0.0.20, 0.0.22)
* maven-antrun-plugin with the cobertura ant task
* org.mortbay.jetty:jetty-maven-plugin (7.6.16.v20140903)
2015-10-04 14:21:56 +02:00
Karl Heinz Marbaise 2a9a07b0a1 [MNG-5894] Removed binding for maven-ejb3-plugin from default binding 2015-09-26 20:39:10 +02:00
Karl Heinz Marbaise b03062d2a0 [MNG-5893] Make used plugin version for maven-resources-plugin in
default-bindings.xml consistent
Using version 2.6 for ear binding as in the other bindings.
2015-09-26 20:02:32 +02:00
Karl Heinz Marbaise cb037ca262 [MNG-5892] Removing par lifecycle from default life cycle bindings 2015-09-26 19:50:42 +02:00
Hervé Boutemy 2669980461 [MNG-5887] updated Modello site url 2015-09-14 19:52:21 +02:00
Stuart McCulloch 545c6e2685 Switch to official Guice 4.0
Signed-off-by: Jason van Zyl <jason@tesla.io>

closes #45
2015-09-11 18:36:02 -04:00
Anton Tanasenko 9f7971dadb MNG-5805: Fix NPE in LifecyclePhase#toString()
Signed-off-by: Jason van Zyl <jason@tesla.io>

closes #62
2015-09-11 18:36:02 -04:00
Hervé Boutemy d25669e0bb removed unused config since MPIR is at 2.8 with MPIR-290 2015-08-09 21:30:11 +02:00
Jason van Zyl 9f45a84667 [maven-release-plugin] prepare for next development iteration 2015-07-30 22:25:55 -04:00
Jason van Zyl 72e1aad686 [maven-release-plugin] prepare release maven-3.3.6 2015-07-30 22:25:36 -04:00
Jason van Zyl 7ef71655b3 [maven-release-plugin] prepare for next development iteration 2015-07-20 14:05:24 -04:00
Jason van Zyl 2226900a49 [maven-release-plugin] prepare release maven-3.3.5 2015-07-20 14:05:06 -04:00
Anton Tanasenko 3677220f6e MNG-5805: Restore binary compatibility
Signed-off-by: Jason van Zyl <jason@tesla.io>
2015-07-20 13:54:53 -04:00
Karl Heinz Marbaise 15223116a6 Fixed URL's to issue tracking after transition to
Apache Software Foundation.
2015-07-19 09:53:50 +02:00
Jason van Zyl 81a3035c63 [maven-release-plugin] prepare for next development iteration 2015-07-17 14:06:03 -04:00
Jason van Zyl df509db95a [maven-release-plugin] prepare release maven-3.3.4 2015-07-17 14:05:46 -04:00
Kristian Rosenvold cfd1fbe613 More java7. Bye bye 2006 2015-06-20 15:21:10 +02:00
sugartxy 7f206ef1cc try-with-resources
Reformatted to code style by me. This fixes #53
2015-06-20 14:32:46 +02:00
Kristian Rosenvold 7badeb5b5b Upgraded to java7 language features 2015-06-20 10:56:07 +02:00
Florencia Tarditti a0babcecae Fixed typo in error output
Signed-off-by: Karl-Heinz Marbaise <khmarbaise@apache.org>
2015-05-07 01:02:15 +02:00
Jason van Zyl 4567c8319e MNG-5818: Disallow the programmatic injection of project dependencies
The first step here is deprecating the publicly accessible method that allows
plugins to inject dependencies. The only plugin I currently know of that does
this is the cobertura-maven-plugin. Looking at that plugin it appears the user
can specify the cobertura dependency for the instrumentation process but if
they do not the plugin attempts to inject the dependency. I believe the path
forward here is making sure these types of plugins instruct their users to
add the dependency explicitly.

I'm going to try and create a call-graph for all of Maven Central with my
first test to see if I can accurately detect all usages of MavenProject.setDependencyArtifacts
of artifact in Maven Central.
2015-04-30 21:39:28 -04:00
Anton Tanasenko 1d148be82b MNG-5805: Custom packaging types: configuring DefaultLifecycleMapping mojo executions
Signed-off-by: Jason van Zyl <jason@tesla.io>
2015-04-27 17:28:37 -04:00
Jason van Zyl f6488774f5 [maven-release-plugin] prepare for next development iteration 2015-04-22 07:54:54 -04:00
Jason van Zyl 7994120775 [maven-release-plugin] prepare release maven-3.3.3 2015-04-22 07:54:38 -04:00
Jason van Zyl 9f4bf9eda9 [maven-release-plugin] prepare for next development iteration 2015-04-16 09:14:08 -04:00
Jason van Zyl 743903acab [maven-release-plugin] prepare release maven-3.3.2 2015-04-16 09:13:50 -04:00
Jason van Zyl 6c53bbb293 Remove the use of more deprecated methods 2015-04-16 08:39:36 -04:00
Jason van Zyl 7d5ca3e5b3 Add another deprecated method 2015-04-16 08:39:35 -04:00
Jason van Zyl 56e6db1231 MNG-5795: Maven extensions can not be retrieved from authenticated repositories 2015-04-02 00:49:50 -04:00
Igor Fedorenko 9f50eabea5 MNG-5793 do not register same realm both with plugin and extensions realm caches
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2015-03-25 15:43:47 -04:00
Hervé Boutemy 4f553420c7 added @since info 2015-03-22 13:47:24 +01:00
Jason van Zyl 1d3d2fd3df [maven-release-plugin] prepare for next development iteration 2015-03-13 13:05:42 -07:00
Jason van Zyl cab6659f98 [maven-release-plugin] prepare release maven-3.3.1 2015-03-13 13:05:27 -07:00
Jason van Zyl eae9a88f54 [maven-release-plugin] prepare for next development iteration 2015-03-11 14:42:17 -07:00
Jason van Zyl b37a7d1776 [maven-release-plugin] prepare release maven-3.3.0 2015-03-11 14:42:01 -07:00
Igor Fedorenko b7088a34ed MNG-5783 fixed slf4j is missing from ${plugin.artifacts}
Some plugins, e.g., cobertura-maven-plugin, use ${plugin.artifacts}
to setup classpath of externally launched jvms and they expect slf4j
to be available among plugin dependencies. At the same time slf4j
is already part of maven core runtime and it needs to be filtered
out from plugin and build extension realms to avoid duplicate classes
on classpath.

The fix is to move core artifact filtering from plugin dependency
resolver to class realm manager. This way ${plugin.artifacts} still
includes all compile/runtime scoped plugin dependencies but runtime
classpath only has plugin unique artifacts.

Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2015-03-10 10:07:29 -04:00
Hervé Boutemy ab5f3a9de7 added doculmentation about extension descriptor 2015-03-09 04:56:26 +01:00
Jason van Zyl 57a6196422 MNG-5779 Export org.slf4j.spi.* to fix the Javadoc plugin error 2015-03-05 00:40:45 -08:00
Hervé Boutemy 772df4ed2a [MNG-5778] s/3.2.6/3.3.0/ in code (@since in javadoc) 2015-03-05 08:42:23 +01:00
Jason van Zyl 368516c2aa Change version from 3.2.6-SNAPSHOT to 3.3.0-SNAPSHOT 2015-03-04 10:58:05 -08:00
Hervé Boutemy eecdc9a171 reintroduced LineLength Checkstyle rule and fixed code... 2015-03-04 03:17:46 +01:00
Jason van Zyl be3fb20032 MNG-5775 Make the project graph building code pluggable to allow for new/different implementations. 2015-03-01 12:39:30 -08:00
Jason van Zyl 7997634209 MNG-5774 Provide an extension point for alternate CLI configuration source 2015-03-01 10:22:26 -08:00
Igor Fedorenko e28be4d33a MNG-5767 renamed projectBasedir to more descriptive multiModuleProjectDirectory
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2015-02-23 13:47:34 -05:00
Igor Fedorenko 6efacdb3fc MNG-5771 user-defined core extensions
read ${maven.projectBasedir}/.mvn/extensions.xml and create core
extensions realms during maven runtime bootstrap. this required
short-lived bootstrap plexus container to resolve extensions.

individual extensions realms are wired to maven.ext realm according
to META-INF/maven/extension.xml exported packages specification

Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2015-02-20 14:05:54 -05:00
Igor Fedorenko e2a0792840 exit session scope in finally {} block
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2015-02-20 10:26:15 -05:00
Igor Fedorenko 6b79ac5e33 use eclipse sisu plugin, lock version with rest of sisu
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2015-02-20 10:26:15 -05:00
Igor Fedorenko 5f150940c1 extracted RepositorySystemSessionFactory from DefaultMaven
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2015-02-20 10:26:15 -05:00
Igor Fedorenko 586e65f381 added javax.inject and slf4j-api to the exported artifacts list
javax.inject.* and org.slf4j.* packages were already exported, but
corresponding artifacts were not. this resulted in same classes
present in multiple classlaoders and caused hard-to-troubleshoot
build failures in some cases.

Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2015-02-20 10:26:15 -05:00
Igor Fedorenko 8631d79ca3 MNG-5771 use extension.xml to define core exported artifacts and packages
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2015-02-20 10:26:14 -05:00
Igor Fedorenko 45563ff5cb mechanism to carryover session scope seeds from one thread to another
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2015-02-20 10:26:14 -05:00
Igor Fedorenko 8ed9a1caa8 MNG-5767 .mvn/ for project specific jvm options and maven parameters
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2015-02-20 08:14:08 -05:00
Igor Fedorenko ee7dbab69d MNG-5768 @execution-id syntax for direct plugin goal invocation
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2015-02-20 07:58:31 -05:00
Igor Fedorenko cd52e5b51e MNG-5766 consistently handle all throwables in LifecycleModuleBuilder
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2015-02-18 10:47:52 -05:00
Hervé Boutemy c28348024a improved javadoc 2015-02-15 20:56:54 +01:00
Jason van Zyl d52e5c4294 Allow munge to remove another deprecated method 2015-02-09 03:26:29 -05:00
Jason van Zyl 103f6418cf Experimenting with Munge to chop out deprecated code for a Maven 4.x codebase
I will try and collect all deprecated code at the bottom of classes with Munge markers and
use this in conjunction with a definitive list of classes to be purged in order to use
one code line to safely experiment with Maven 4.x.
2015-02-09 02:28:35 -05:00
Jason van Zyl d6e9226b60 No longer need the settings decrypter 2015-02-09 01:55:07 -05:00
Jason van Zyl dd5eb31a08 Fold back into MavenRepositorySystem and work from there to clean up all references to the legacy system and Settings. 2015-02-09 01:44:32 -05:00
Jason van Zyl 2d34e67eed First pass at cleaning up MavenExecutionRequestPopulator and its use.
Push MavenExecutionRequestPopulator down to only operate in the MavenCli. Two of the three methods were already called from MavenCli so now all of them are. In the process I deleted a bunch of code and pursue my quest to remove Settings from the core in order to make a general configuration mechanism that can be plugged into the core via the MavenCli.

Also removed the requirement of the LegacyRepositorySystem in the DefaultMavenExecutionRequestPopulator which breaks another tie with the legacy code. I took the bits that were needed and a lot of the code, after tracing through it, is redundant so it has been deleted.

Turning off:

injectMirror( request, request.getRemoteRepositories(), request.getMirrors() );
injectMirror( request, request.getPluginArtifactRepositories(), request.getMirrors() );

in DefaultMavenExecutionRequestPopulator

Results :

Failed tests:
  MavenITmng4190MirrorRepoMergingTest>AbstractMavenIntegrationTestCase.runTest:220->testit:76 null expected:<[1]> but was:<[4]>

Tests in error:
  MavenITmng4991NonProxyHostsTest>AbstractMavenIntegrationTestCase.runTest:220->testit:89 » Verification
  MavenITmng4963ParentResolutionFromMirrorTest>AbstractMavenIntegrationTestCase.runTest:220->testit:58 » Verification

There is mirror evaluation code in DefaultMaven:newRepositorySession( MavenExecutionRequest request ) which appears to
duplicate this logic but not quite enough for the ITs to pass.

---

Turning off:

injectProxy( request.getRemoteRepositories(), request.getProxies() );
injectProxy( request.getPluginArtifactRepositories(), request.getProxies() );

in

DefaultMavenExecutionRequestPopulator

Result:

The ITs pass

So the code is not needed so it has been deleted.

---

Turning off:

injectProxy( request.getRemoteRepositories(), request.getProxies() );
injectProxy( request.getPluginArtifactRepositories(), request.getProxies() );
injectAuthentication( request.getRemoteRepositories(), request.getServers() );
injectAuthentication( request.getPluginArtifactRepositories(), request.getServers() );

in

DefaultMavenExecutionRequestPopulator

Result:

The ITs pass

The code in DefaultMaven:newRepositorySession( MavenExecutionRequest request ) appears to populate proxies and authentication correctly. The injectAuthentication code has been deleted.

---

This is also perfunctory in DefaultMavenExecutionRequestPopulator after tracing through it:

request.setRemoteRepositories( getEffectiveRepositories( request, request.getRemoteRepositories() ) );
request.setPluginArtifactRepositories( getEffectiveRepositories( request, request.getPluginArtifactRepositories() ) );
2015-02-08 22:26:48 -05:00
Igor Fedorenko d745f8c475 MNG-5762 populate plugin repositories in ExecutionRequestPopulator
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2015-02-04 22:26:16 -05:00
Robert Scholte 4b263106db [MNG-5755] Access toolchains without maven-toolchain-plugin
Added List<Toolchain> getToolchains( MavenSession session, String type, Map<String, String> requirements ) to ToolchainManager
2015-01-18 16:53:56 +01:00
Robert Scholte b6ae8ef8ab [MNG-5754] Toolchains should be read during initialization
DefaultToolchainManagerPrivate now uses toolchains from MavenExecutionRequest
2015-01-17 17:24:00 +01:00
Robert Scholte f75008743b [MNG-5754] Toolchains should be read during initialization
MavenExecutionRequest has been extended with toolchains, which is filled by MavenCli
Interfaces have been extended with new methods, assuming only Maven provides implementations
2015-01-17 15:45:53 +01:00
Robert Scholte 99f763decd Add junit tests for DefaultToolchainsBuilder and ToolchainsBuildingException 2015-01-16 13:24:57 +01:00
Jason van Zyl 36d491a648 MNG-5753: Allow plugin implementors to choose how they want the configuration created for a particular MojoExecution 2015-01-15 15:16:59 -05:00
Robert Scholte 32053c99d7 Add junittests for DefaultToolchain
Implement toString() for better log messages
2015-01-12 23:23:31 +01:00
Robert Scholte 3e133902fb Additional unittests for DefaultToolchainManagerPrivate
Remove unnecessary null checks for Lists
Improve javadoc
2015-01-11 22:02:14 +01:00
Robert Scholte 2d0ec94269 [MNG-5716] Add unittests for DefaultToolchainManagerPrivate 2015-01-10 22:58:24 +01:00
Igor Fedorenko bb4988496a better plugin/extensions realm parent classloader
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2015-01-08 08:08:47 -05:00
Tibor17 3a6f63345c [MNG-5702] Final Fields on DefaultMavenExecutionResult.java 2015-01-02 20:20:26 +01:00
Tibor17 4d33358be2 [MNG-5702] Final Fields on DefaultMavenExecutionResult.java 2015-01-02 20:01:20 +01:00
Karl Heinz Marbaise 6f0318ed68 [MNG-5702] Wrong reactor summary output while using -T option
Fixed checkstyle reported errors.
2014-12-31 11:34:27 +01:00
Karl Heinz Marbaise cb91332d3d [MNG-5702] Wrong reactor summary output while using -T option
Changing into a better solution which doesn't change the
 implemented type of Map but use a synchronized one.
2014-12-31 11:25:55 +01:00
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
Michael Osipov be19ddb6d9 [MNG-5176] Print build times in an ISO 8601-style manner 2014-02-09 12:14:43 +01:00
Robert Scholte f6bb98f584 [MNG-5572] Warn for building plugins with extensions in a reactor 2014-02-08 19:21:34 +01:00
Hervé Boutemy 81619e6f1a restore public interface 2014-02-08 16:41:28 +01:00
Hervé Boutemy 4a39c02156 fixed errors reported by Checkstyle 2014-02-08 16:38:31 +01:00
Jason van Zyl a7cb1596c1 MNG-5479: ExecutionEvent.Type.SessionEnded omited when runtime exception thrown 2014-02-06 22:21:55 -05:00
Jason van Zyl 097cc8d25f Move ThreadOutputMuxer to sit along with the multithreaded Builder implementation 2014-02-06 16:39:15 -05:00
Jason van Zyl 0c5678fa89 Remove weave mode building from the core 2014-02-06 16:27:15 -05:00
Jason van Zyl ccc7cb3abc Forgot to remove the deleted files. 2014-02-05 22:48:04 -05:00
Jason van Zyl 09961c3150 MNG-5575: Separate distinct build strategies into their own new Builder implementation. The interface is not ideal yet, but gives us a cleaner
separation of implementations and gives us a path forward.
2014-02-05 22:43:04 -05:00
Jason van Zyl 3bf568eda6 Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/maven 2014-02-03 17:37:52 -05:00
Jason van Zyl 90ab970006 Hiding the project sorter as it is an implementation detail of the graph and I want to make another implementation. 2014-02-03 17:37:05 -05:00
Igor Fedorenko 43d67de045 MNG-5570 unit test lifecycle participant influence reactor order
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-01-29 07:40:19 -05:00
Jason van Zyl b05dd063f9 Slight addition to MNG-5389 so that the afterSessionEnd method throws a MavenExecutionException like the other methods in the participant 2014-01-24 11:36:50 -05:00
Igor Fedorenko 8f3eca3d0f MNG-5389 introduced MavenLifecycleParticipant#afterSessionEnd callback
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2014-01-19 18:48:43 -05:00
Robert Scholte 91499839cf [MNG-5230] Command line option to exclude modules from reactor
Contributed by Luuk van den Broek, slightly changed by Robert Scholte
Exclude/include marker char now match profiles, i.e +, ! and -
2014-01-09 00:06:19 +01:00
Jason van Zyl 6e3f24babc Updated the notes about the order of processing and a small problem with the conflation of duplicate checkingin getProjectMap 2014-01-06 12:16:06 -05:00
Jason van Zyl 7c3052ddeb MNG-5557: Constrain the set of projects that are passed into the ReactorReader as specified by --projects
- Add some documentation about the lifecycle within DefaultMaven
- Remove the use of DelegatingLocalArtifactRepository in DefaultMaven as it has been replaced with the use of the
  ReactorReader which is an implementation of Aether's WorkspaceReader
- Localize the manipulation of the ProjectBuildingRequest to getProjectsFromReactor()
- Deprecated getLogger()
2014-01-06 10:55:01 -05:00
Stephen Connolly 3929f55c31 Remove redundant casts 2014-01-06 11:23:19 +00:00
Stephen Connolly 5f29be799f Remove dead code (initializers) 2014-01-06 11:21:26 +00:00
Stephen Connolly 9a9cf059fd Just in case of file lock extra try and delete 2014-01-06 11:08:14 +00:00
Stephen Connolly e2b7ea2a96 Compare Xpp3Dom instances not objects that are different types and are being compared by Object.equals i.e. instance identity 2014-01-06 11:00:47 +00:00
Stephen Connolly 4b6eaadd28 Remove redundant Null check 2014-01-06 10:54:26 +00:00
Stephen Connolly 7ec819a2ce Remove redundant Null check 2014-01-06 10:53:51 +00:00
Stephen Connolly 9bec8d7386 Use chained .append calls rather than concatenate strings in arguments to .append 2014-01-06 10:42:20 +00:00
Stephen Connolly c156b1512f duplicate ; 2014-01-06 10:35:53 +00:00
Stephen Connolly f92c5bf5fd Flag that we are ignoring this 2014-01-06 10:34:45 +00:00
Stephen Connolly 9a55914061 Remove unnecessary unboxing 2014-01-06 10:32:16 +00:00
Stephen Connolly c30c76e423 Use StringBuilder 2014-01-06 10:31:04 +00:00
Stephen Connolly 77aeb15556 targetting 3.2.0 release 2014-01-06 09:49:00 +00:00
Jesse Glick 2eb419ed95 [MNG-5075] MavenProject.getParent throws undocumented ISE
Submitted by Jesse Glick
2014-01-05 19:17:03 +00:00
Igor Fedorenko e698ce6e67 MNG-5549 introduced MojoExecutionEvent and ProjectExecutionEvent
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2013-12-20 10:06:04 -05:00
Igor Fedorenko f35698c790 MNG-5552 made classifier part of MavenProject.artifactMap key
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2013-12-17 12:56:36 -05:00
Igor Fedorenko b99658c943 MNG-5550 default MojoExecution source to Source.LIFECYCLE
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2013-12-14 19:44:25 -05:00
Igor Fedorenko bc84e6c7d3 MNG-5549 introduced MojoExecutionListener and ProjectExecutionListener
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2013-12-14 19:43:42 -05:00
Igor Fedorenko 2ef658430f MNG-5530 simplified MojoExecutionScope binding
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2013-11-18 09:41:15 -05:00
Igor Fedorenko 8700b05857 MNG-5530 Introduced mojo execution guice component scope
Mojo execution scoped components are annotated with @MojoExecutionScoped
They are created just before configured mojo instance is created
and disposed immediately after mojo execution finishes.

Execution scoped components can request @Inject MavenSession,
MavenProject and MojoExecution instances in addition to any
standard Maven core components and components defined in
maven plugin contributing execution scoped components.

Execution scoped components can be injected into Mojos using
standard /* @component */ javadoc (and likely new mojo
annotations).

If execution scoped component implements MojoExecutionListener
callback interface, its #afterMojoExecutionSuccess method will be
invoked after successful mojo execution and #afterMojoExecutionAlways
method will be executed after both successful and failed mojo
executions.

Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
2013-10-31 07:49:54 -04:00
Jason van Zyl b0acd5e73a The version:set plugin works to roll/unroll changes (where the release plugin is not very good) so we can use more standard versions which will help withe ITs. 2013-10-04 15:05:56 -04:00
Jason van Zyl 72326aef76 [maven-release-plugin] prepare for next development iteration 2013-09-17 11:17:49 -04:00
Jason van Zyl 0728685237 [maven-release-plugin] prepare release maven-3.1.1 2013-09-17 11:17:43 -04:00
Jason van Zyl b7e3ce220c I'm reverting this as per Benjamin: the change to the artifact filter is an optimization to avoid downloading needless artifacts, but for cases of uber JARs or other stuff pulling in those packages, the class realm manager's imports are crucial 2013-09-17 10:22:35 -04:00
Jason van Zyl c61c387cf6 MNG-5513: Artifact filtering not updated for Eclipse Aether filtering
Also, please note that org.eclipse.aether.internal.impl should be imported into plugin realms, thereby restoring Maven 3.0.x style behavior which imports org.sonatype.aether.impl and sub packages (especially o.s.a.impl.internal which after the move to Eclipse is no longer a sub package of o.e.a.impl)  according to Benjamin (thanks!)
2013-09-17 00:09:54 -04:00
Jason van Zyl 0194cd61c8 We must also filter out the old Aether as well to prevent NoClassDefFoundErrors 2013-09-14 21:02:05 -04:00
Jason van Zyl 6125acf1c4 Merge branch 'mng-5513' 2013-09-14 20:22:18 -04:00
Jason van Zyl 340dd3fc6e Change poms over to major.minor-SNAPSHOT 2013-09-14 17:05:06 -04:00
Hervé Boutemy 65e219f621 fix scm connection and developerConnection values in modules, waiting
for maven-scm support of default inherited values, which appends
/${artifactId}
2013-09-14 16:15:38 +02:00
Tamas Cservenak 97732f7ee7 [MNG-5513] Restoring Maven 3.0.x style behavior
As it was importing org.sonatype.aether.impl and
sub packages, but since Aether move to Eclipse
the org.eclipse.aether.internal.impl is no longer
sub package of org.eclipse.aether.impl (but it
was in Sonatype Aether)
2013-09-11 14:01:15 +02:00
Tamas Cservenak 4a7b25c3dd [MNG-5513] Artifact filtering for Eclipse Aether fixed
The filtering was left unchanged, while Aether
GroupID changed from org.sonatype.aether to
org.eclipse.aether, basically letting
Plugins to reference Eclipse Aether that
would produce runtime Linkage errors.
2013-09-11 13:59:40 +02:00
Jason van Zyl 07f0fce320 [maven-release-plugin] prepare for next development iteration 2013-09-05 12:59:21 -04:00
Jason van Zyl 892b464683 [maven-release-plugin] prepare release maven-3.1.1 2013-09-05 12:59:15 -04:00
Hervé Boutemy 6b2db085c0 code formatting 2013-08-21 21:38:01 +02:00
Jason van Zyl 11f46bd4c4 MNG-5503: Fix for the issue where Maven 3.1.0 fails to resolve artifacts produced by reactor build
The general strategy is to fall back to Aether artifact type and use its notion of identity as much as possible. I have
a simple IT taken from the sample project that I will also push.
2013-08-20 05:54:28 -07:00
Hervé Boutemy 2d33fad18c give coordinates of plexus configuration files used to define content 2013-08-02 15:24:11 +02:00
Hervé Boutemy 82eba2a03f improved javadoc 2013-07-28 14:08:13 +02:00
Hervé Boutemy 2351cc1bb9 added a link to ExceptionHandler in the "useful entry points" section 2013-07-28 13:46:14 +02:00
Hervé Boutemy 7ffd13af5f added links to toolchains descriptor reference 2013-07-27 23:10:34 +02:00
Hervé Boutemy 8009c099a0 prefer DuplicatProjectException in same package and explicit package for
org.apache.maven.project.DuplicatProjectException
2013-07-27 19:16:52 +02:00
Olivier Lamy d5259127ed add missing @since 3.0.2 2013-07-20 15:46:16 +10:00
Hervé Boutemy 465202c505 added a link to ArtifactHandler API 2013-07-19 19:34:02 +02:00
Hervé Boutemy a2d30c322e bump to 3.1.1-SNAPSHOT 2013-07-19 19:31:00 +02:00
Stephen Connolly 9f7d5171fe narrow the exclusion 2013-07-18 11:19:00 +01:00
Arnaud Héritier 9f8eabce22 Bump to 3.2-SNAPSHOT 2013-07-15 22:37:09 +02:00
Jason van Zyl 271761de84 [maven-release-plugin] prepare for next development iteration 2013-06-27 22:10:23 -04:00
Jason van Zyl 893ca28a1d [maven-release-plugin] prepare release maven-3.1.0 2013-06-27 22:10:16 -04:00
Jason van Zyl 09e77b53f0 Revert "[maven-release-plugin] prepare release maven-3.1"
This reverts commit a47ef06832.
2013-06-23 08:15:55 -07:00
Jason van Zyl 87e5972726 Revert "[maven-release-plugin] prepare for next development iteration"
This reverts commit e22b2fa16a.
2013-06-23 08:15:29 -07:00
Jason van Zyl e22b2fa16a [maven-release-plugin] prepare for next development iteration 2013-06-23 08:03:57 -07:00
Jason van Zyl a47ef06832 [maven-release-plugin] prepare release maven-3.1 2013-06-23 08:03:53 -07:00
Arnaud Héritier 21907a74e7 Revert "Code cleanup - It's better (for perfs) to use a chain of append() calls than a unique append with several Strings concatenations"
This reverts commit c8e94a5b08.

Decreases too much the code readibility
2013-06-14 10:29:43 +02:00
Arnaud Héritier 456268af61 Code cleanup -  Remove Redundant Cast(s) 2013-06-11 22:28:48 +02:00
Arnaud Héritier da48cfff83 Code cleanup - Redundant array creation for calling varargs method 2013-06-11 22:27:26 +02:00
Arnaud Héritier d92746dc25 Code cleanup - Maven requires Java 5+ : Replace for and while loops by for each 2013-06-11 22:21:54 +02:00
Arnaud Héritier 1f84f8f296 Code cleanup - Maven requires Java 5+ : Replace String.indexOf() by String.contains() 2013-06-11 22:19:20 +02:00
Arnaud Héritier 9e5183f0ad Code cleanup - Various code simplifications (tests, loops, …) 2013-06-11 22:09:51 +02:00
Arnaud Héritier c8e94a5b08 Code cleanup - It's better (for perfs) to use a chain of append() calls than a unique append with several Strings concatenations 2013-06-11 21:58:50 +02:00
Arnaud Héritier 96db1abbe9 Code cleanup - Maven requires Java 5+ : Remove unnecessary boxing 2013-06-11 21:43:53 +02:00
Arnaud Héritier 143216f93a Fix misprint 2013-06-11 20:53:31 +02:00
Hervé Boutemy 4ec06bf67c default m-site-p plugin is 3.3 2013-06-02 12:40:38 +02:00
Jason van Zyl e1286aea83 [maven-release-plugin] prepare for next development iteration 2013-06-01 08:56:26 -04:00
Jason van Zyl c726cdd3a9 [maven-release-plugin] prepare release maven-3.1.0-alpha-1 2013-06-01 08:56:20 -04:00
Hervé Boutemy ac64dd6bb6 [MNG-5482] detect missing Sonatype Aether classes to give a hint to
AetherClassNotFound Wiki article
2013-05-30 03:10:51 +02:00
rfscholte 4cc6a3fdef Fix Javadoc warnings 2013-05-28 23:29:01 +02:00
Stephen Connolly 85eed72eb1 In the canonical pom order, i.e. our pom.xml code style, <pluginManagement> comes before <plugins> 2013-05-28 10:49:38 +01:00
Stephen Connolly 348f716433 Add Apache RAT pluging configuration to exclude files that have a legitimate reason for being excluded
- We should maybe review this list periodically, but to my mind there are legitimate reasons for excluding all of these files from the ASL license header requirements
2013-05-28 10:37:02 +01:00
Stephen Connolly c6c6bdc49f Add ASL license header 2013-05-28 10:19:32 +01:00
Jason van Zyl 326303e22a [maven-release-plugin] prepare for next development iteration 2013-05-25 08:33:08 -04:00
Jason van Zyl 42b69f0b0a [maven-release-plugin] prepare release maven-3.1.0-alpha-1 2013-05-25 08:33:02 -04:00
Jason van Zyl 00b9029094 [maven-release-plugin] prepare for next development iteration 2013-05-23 10:23:11 -04:00
Jason van Zyl 32d720ea0c [maven-release-plugin] prepare release maven-3.1.0-alpha-1 2013-05-23 10:23:05 -04:00
Hervé Boutemy d7b31b3c90 reapplied commit 994a27d004 after Eclipse
Aether merge:
removed code duplication: maven-core should use base
MavenRepositorySystemUtils provided by maven-aether-provider as a
basis before adding environment configuration instead of copy/paste
Aether configuration
2013-04-09 08:27:06 +02:00
Jason van Zyl 95fbf6f445 [maven-release-plugin] prepare for next development iteration 2013-03-30 10:52:15 -04:00
Jason van Zyl 262b9bb1ef [maven-release-plugin] prepare release maven-3.1.0-alpha-1 2013-03-30 10:52:10 -04:00
Jason van Zyl 08eab1953d o revert release plugin commits 2013-03-30 10:50:39 -04:00
Jason van Zyl 01c969e1eb [maven-release-plugin] prepare for next development iteration 2013-03-30 10:21:32 -04:00
Jason van Zyl 2decac4869 [maven-release-plugin] prepare release maven-3.1.0 2013-03-30 10:19:45 -04:00
Hervé Boutemy 42962fa281 code formatting 2013-03-30 09:37:11 +01:00
Kristian Rosenvold 973673721b [MNG-5456] Incorrect exception handling in parallel build 2013-03-30 07:00:05 +01:00
Jason van Zyl ebf2e4ddea Merge branch 'eclipse-aether' of github.com:tesla/tesla-build into eclipse-aether
Conflicts:
	.gitignore
	pom.xml
2013-03-14 13:03:31 -07:00
Stuart McCulloch 2c2bf6e6e5 Use Eclipse/Sisu 0.0.0.M2 milestone
Signed-off-by: Jason van Zyl <jason@tesla.io>
2013-03-13 08:49:00 -04:00
Igor Fedorenko 9b58a3cfdc MNG-5444 fixed building MavenProject from ModelSource
To maintain compatibility with (the extremely unlikely) existing
implementations of ModelSource, the new API methods are provided
via optional ModelSource2 interface. Updated javadoc to encourage
use of the new API.

Signed-off-by: Igor Fedorenko <igor@ifedorenko.com>
2013-03-03 22:03:50 -05:00
rfscholte f6f4ef5e03 [MNG-3131] Error message is misleading if a missing plugin parameter is of a type like List 2013-03-01 16:14:22 +01:00
Jason van Zyl de40fe19a8 o update for changes in Aether APIs 2013-02-16 22:48:55 -05:00
rfscholte 56cd921fbd MNG-3131: Error message is misleading if a missing plugin parameter is of a type like List 2013-02-16 14:49:19 +01:00
Jason van Zyl 137cbd8a97 Merge branch 'trunk' into eclipse-aether
Conflicts:
	maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
	maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
	maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java
	maven-aether-provider/src/test/java/org/apache/maven/repository/internal/AbstractRepositoryTestCase.java
	maven-aether-provider/src/test/java/org/apache/maven/repository/internal/DefaultVersionResolverTest.java
	maven-core/src/main/java/org/apache/maven/DefaultMaven.java
	maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultLegacySupport.java
	maven-core/src/main/java/org/apache/maven/plugin/prefix/PluginPrefixResult.java
	maven-embedder/src/main/java/org/apache/maven/cli/transfer/Slf4jMavenTransferListener.java
	pom.xml
	src/site/site.xml
2013-02-14 22:08:26 -05:00
Jason van Zyl 27ad9858d2 Merge branch 'aether' of github.com:bentmann/maven-3 into eclipse-aether
Conflicts:
	.gitignore
	apache-maven/pom.xml
	maven-aether-provider/pom.xml
	maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultArtifactDescriptorReader.java
	maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionRangeResolver.java
	maven-aether-provider/src/main/java/org/apache/maven/repository/internal/DefaultVersionResolver.java
	maven-aether-provider/src/main/java/org/apache/maven/repository/internal/LocalSnapshotMetadataGenerator.java
	maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenRepositorySystemSession.java
	maven-aether-provider/src/main/java/org/apache/maven/repository/internal/MavenServiceLocator.java
	maven-aether-provider/src/main/java/org/apache/maven/repository/internal/RemoteSnapshotMetadataGenerator.java
	maven-artifact/pom.xml
	maven-compat/pom.xml
	maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
	maven-compat/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java
	maven-core/pom.xml
	maven-core/src/main/java/org/apache/maven/DefaultMaven.java
	maven-core/src/main/java/org/apache/maven/ReactorReader.java
	maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRealmCache.java
	maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java
	maven-core/src/main/resources/META-INF/plexus/artifact-handlers.xml
	maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
	maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
	maven-core/src/test/java/org/apache/maven/project/LegacyLocalRepositoryManager.java
	maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
	maven-core/src/test/java/org/apache/maven/repository/TestRepositoryConnector.java
	maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
	maven-embedder/pom.xml
	maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java
	maven-model-builder/pom.xml
	maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
	maven-model/pom.xml
	maven-plugin-api/pom.xml
	maven-plugin-api/src/main/mdo/plugin.mdo
	maven-plugin-api/src/site/apt/index.apt
	maven-repository-metadata/pom.xml
	maven-settings-builder/pom.xml
	maven-settings/pom.xml
	pom.xml
	src/site/site.xml
2013-02-14 20:21:50 -05:00
Benjamin Bentmann 4fdcdbd262 Followed change to DependencyNode.getPremanaged*() 2013-02-10 19:11:11 +01:00
Hervé Boutemy 720bef7df7 [MNG-5181] renamed *simple* local repository *manager* to *legacy* local
repository
2013-02-09 15:43:00 +01:00
Hervé Boutemy 114c98f310 [MNG-5181] added a warning when enhanced local repository manager is
disabled: this should be avoided
2013-02-04 01:27:53 +01:00
Benjamin Bentmann b5e0532310 Updated for latest ConflictResolver 2013-02-03 20:44:44 +01:00
Hervé Boutemy 5d06bc6a25 fixed typo 2013-02-02 16:59:20 +01:00
Hervé Boutemy 71dd7f3d2a code formatting 2013-02-02 16:52:16 +01:00
Hervé Boutemy 7196f82ff2 improved javadoc 2013-02-02 09:40:06 +01:00
olivier lamy 27f8b0f81a [MNG-5185] [MNG-5181]
add cli flag to be able to remove use of EnhancedLocalRepositoryManager.
2013-02-01 00:35:46 +01:00
Kristian Rosenvold 176a85f43c Fixed line feeds, added .gitattributes 2013-01-29 16:27:02 +01:00
Benjamin Bentmann 3916201b98 Used improved conflict resolver 2012-12-29 22:25:25 +01:00
Hervé Boutemy 3849bbd46a fixed errors reported by Checkstyle 2012-12-16 21:49:18 +01:00
Hervé Boutemy 915b1553f2 changed MavenModelMerger extensions visibility to protected to improve
documentation
2012-12-15 21:12:22 +01:00
Hervé Boutemy 87952bd073 added link to Plexus Classworlds 2012-12-12 17:37:03 +01:00
Hervé Boutemy 3d4a06c700 added ClassRealmManager entry point 2012-12-12 01:57:02 +01:00
Jason van Zyl c8536bf89f - make m2e happy on import 2012-12-08 19:30:57 -05:00
Hervé Boutemy d6544c4814 reverted change that got in previous commit by inadvertance 2012-12-08 17:47:12 +01:00
Hervé Boutemy 23bd8d98a6 added @since info 2012-12-08 16:05:37 +01:00
Anders Hammar f95ab2e7cd [MNG-5402] Better build number for git
Signed-off-by: Anders Hammar <anders@hammar.net>
2012-12-05 14:21:04 +01:00
Jason van Zyl 73e1445987 [maven-release-plugin] prepare for next development iteration 2012-12-03 19:58:46 -08:00
Jason van Zyl 618d12906d [maven-release-plugin] prepare release maven-3.1.0 2012-12-03 19:58:40 -08:00
Hervé Boutemy ac213ec571 [MNG-5245] updated maven-site-plugin to 3.2 2012-12-03 23:27:47 +01:00
Hervé Boutemy b63904c9db fixed errors reported by Checkstyle (once again...) 2012-12-03 02:21:58 +01:00
Hervé Boutemy 543870467f fixed errors reported by Checkstyle 2012-12-02 20:22:52 +01:00
Hervé Boutemy 71a8427df6 code formatting 2012-12-02 12:38:12 +01:00
Kristian Rosenvold 75ea1e4297 [MNG-5208] Parallel (-T option) multi module build fires wrong project failed event
Patch by Stefan Eder , applied with minor modifications
2012-12-02 11:05:37 +01:00
Hervé Boutemy fee1640d65 [MNG-5395] don't inject DefaultMavenPluginManager's logger into Mojos
but create a dedicated logger with Mojo implementation name
2012-12-01 04:27:23 +01:00
Kristian Rosenvold a278bec9d3 o Fixed another super-subtle classloader leak 2012-11-30 11:46:23 +01:00
Kristian Rosenvold 2103c82d57 o Changed array to atomicreference since arrays are not thread-safe 2012-11-30 07:33:31 +01:00