Commit Graph

3027 Commits

Author SHA1 Message Date
Artem Krosheninnikov 5670dfa909 [MNG-6842] ProjectBuilderTest uses Guava, but Guava is not defined in dependencies
This closes #311
2020-01-09 21:45:26 +01:00
Artem Krosheninnikov 735b72fcf1 [MNG-6844] Use StandardCharsets and remove outdated @SuppressWarnings
This closes #312
2020-01-09 18:09:44 +01:00
Artem Krosheninnikov 1ad780143c [MNG-6827] Replace deprecated StringUtils#defaultString() from Plexus Utils
This closes #302
2019-12-22 12:57:34 +01:00
rfscholte 11b8b2d5d4 [MNG-6824] ModelMerger is broken
Fix modules
Apply Java 8 Functions
2019-12-21 15:03:04 +01:00
Artem Krosheninnikov 3332f4dbcc [MNG-6816] Prefer System.lineSeparator() over system properties
This closes #300
2019-12-10 09:43:47 +01:00
rfscholte ead06d23d4 [maven-release-plugin] prepare for next development iteration 2019-11-19 20:17:36 +01:00
rfscholte cecedd3430 [maven-release-plugin] prepare release maven-3.6.3 2019-11-19 20:17:06 +01:00
Robert Scholte c82409a2d8
[MNG-6759] Maven fails to use <repositories> section from dependency when resolving transitive dependencies in some cases 2019-11-17 22:10:01 +01:00
Hervé Boutemy 53ccee3486 [MNG-6778] use https for schema location 2019-11-09 13:45:14 +01:00
Christian Wansart 0c7c69f78b [MNG-6778] - Use https for maven schemaLocations 2019-11-07 16:16:39 +01:00
Hervé Boutemy bd10f00b68 [MNG-6789] upgrade and configure plugins for Reproducible Builds
- packaging plugins (source, jar, assembly) 3.2.0
- plexus-metadata 2.1.0
- sisu.inject 3.3.4
2019-11-07 13:35:52 +01:00
rfscholte 3f3d775ede Rewrite assertTrue to assertThat to get more meaningful messages 2019-10-13 15:33:42 +02:00
Stig Rohde Døssing db3e44694c [MNG-6759] - Fix issue where MavenMetadataSource failed to set the right repositories when preparing artifact metadata 2019-10-12 18:54:44 +02:00
rfscholte 38efe8444c Fix checkstyle reported errors 2019-09-10 18:51:18 +02:00
Dezhi Cai d09bc7437f [refactor] use utility method of Objects to simplify code (#284)
* [refactor] use utility method of Objects to simplify code

* [refactor] use utility method of Objects to simplify code
2019-09-10 16:22:22 +10:00
rfscholte 3eb242c571 [MNG-6760] ExclusionArtifactFilter result invalid when wildcard exclusion is followed by other exclusions 2019-09-07 14:24:21 +02:00
Enrico Olivelli d9a0eee7fe [maven-release-plugin] prepare for next development iteration 2019-08-27 16:59:23 +02:00
Enrico Olivelli 40f5233313 [maven-release-plugin] prepare release maven-3.6.2 2019-08-27 16:59:01 +02:00
Mickael Istria b65e846531 [MNG-6716] Avoid setting compileRoots
Recent changes in ProjectBuilder make that the compile roots could be
set erroneously on 1st phase and propagated in the results.
This patch just skips setting the compile source root in the 1st pass
(when buildParentIfNonExisting==false).

It also tests some other fields of MavenProject

Reviewers: Michael Osipov, Robert Scholte, Hervé Boutemy

This closes #274
2019-08-19 23:42:40 +02:00
Ray Tsang 8a1f572910 [MNG-6713] Fix ExclusionArtifactFilter to respect wildcard exclusions. (#269)
* [MNG-6713] Fix ExclusionArtifactFilter to respect wildcard exclusions.

* Moved `*` to a constant
2019-08-06 18:18:58 +02:00
tibordigana 6c5be9ce26 fixed ArtifactHandlerTest after commit d5b0f4ce 2019-08-05 23:38:16 +02:00
Hervé Boutemy d5b0f4cef3 improved handlers documentation: artifact vs dependency attributes 2019-08-05 13:12:08 +01:00
Stefan Oehme 0515cb1f0e [MNG-6720] MultiThreadedBuilder: wait for parallel running projects when using --fail-fast
Otherwise the sessionFinished event may be sent before some
projects/goals finish, which violates the contracts of execution
listeners and makes it hard to properly life cycle components that
are needed for goal execution.

This closes #272
2019-07-26 23:38:16 +02:00
Michael Osipov dd0776d949 [MNG-6653] DefaultProjectBuildingRequest copy constructor does not copy all fields 2019-07-26 22:18:45 +02:00
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