Commit Graph

854 Commits

Author SHA1 Message Date
Łukasz Dywicki 864d180edf [MNG-6410] Add groupId to --resume-from suggestion if artifactId is not unique in reactor
This closes #166
2018-05-20 21:50:17 +02:00
Michael Osipov 9abfc88425 [MNG-5756] Java home output in mvn -v is misleading
The Java home displayed corresponds to the property 'java.home' which points to
the JRE installation running the given Maven instance. It is not the value of
$JAVA_HOME which causes confusion.

Ref: https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html

This closes #115 and #117.
2018-05-07 23:42:20 +02:00
Karl Heinz Marbaise 9c118d34c9
[MNG-6363] - Remove secret thread configuration property from code 2018-04-22 22:55:33 +02:00
Karl Heinz Marbaise 8f619acd3a [MNG-6352] - Printout version information at the end of the build 2018-02-17 19:27:52 +01:00
rfscholte cd34b08df1 Merge remote-tracking branch 'remotes/origin/MNG-6353' 2018-02-11 18:29:43 +01: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
rfscholte 22f782aecd [MNG-6353] Upgrade maven-shared-utils to 3.2.1
Add o.a.m.s.u.logging.MessageUtils.registerShutdownHook() to prevent ANSI from staying active when killing an active process
2018-02-10 15:28:59 +01:00
rfscholte 24b8820f08 [MNG-6353] Upgrade maven-shared-utils to 3.2.1 2018-02-10 15:17:03 +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
Karl Heinz Marbaise 99e66229ac [MNG-6340] [Performance]To make System.gc() call configurable in target
summary code
 o Just removed the System.gc() call.
2018-02-04 11:27:33 +01:00
Hervé Boutemy 58cf490c69 [MNG-6308] added packaging in Building message footer and summary 2018-01-06 22:40:30 +01:00
Hervé Boutemy c2e3b3e301 [MNG-6308] display groupId:artifactId in Building message header 2018-01-06 22:40:29 +01:00
Hervé Boutemy 98d2e197d1 [MNG-6308] added unit test for "Building" message 2018-01-06 22:40:29 +01:00
rfscholte 909fb7c59b Merge branch 'MNG-6296' 2017-11-21 23:32:27 +01:00
Robin Müller b2afafe5a2 Parse properties before configuring the logging settings 2017-11-17 16:41:38 +01:00
Hervé Boutemy f5f76c70e1 [MNG-6302] display progress at end of "Building" line 2017-11-15 03:54:15 +01:00
Romain Manni-Bucau 4d49d3b05b logging the module count to let the user identify how many module are still to be executed/processed 2017-11-09 09:30:47 +01:00
rfscholte 785bad693c [MNG-6220] Add CLI options to control color output
Introduce -Dstyle.color=[always|never|auto]
2017-08-15 21:48:57 +02:00
Michael Osipov b100257517 [MNG-5457] Show repository id when downloading or uploading from/to a remote repository 2017-07-12 20:10:47 +02:00
Dan Tran a7dddcb876 [MNG-6084] Support JSR 250 annotations 2017-05-25 20:05:35 +02:00
Hervé Boutemy 6182a2083f [MNG-6186] use enhanced HawtJNI library loading (remove previous hack) 2017-05-09 21:08:13 +02:00
Igor Fedorenko c2c6259de6 MNG-6210 allow maven custom guice scopes in .mvn/extensions
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2017-04-14 10:38:45 -07:00
Hervé Boutemy 08f3c76a09 improved description of styled message API 2017-04-08 08:50:55 +02:00
Stefan Eicher 4c6d3a3462 Minor cleanup in MavenCli.java
There is some unnecessary code in the MavenCli.java from line #1465 to #1474.
The functionality has been moved to line #1215.

Signed-off-by: Karl Heinz Marbaise <khmarbaise@apache.org>
2017-04-05 23:51:26 +02:00
Stephen Connolly 68e38e5086 Make it possible to run unit tests from an IDE 2017-03-19 21:55:46 +00:00
rfscholte f661fc298e [MNG-6078] Confirm commons-cli 1.4-SNAPSHOT before official release 2017-03-18 12:59:51 +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
Hervé Boutemy 181b0215aa [MNG-6115] prevent JAnsi from writing temp native files to lib/ext 2017-03-12 12:12:16 +01:00
Karl Heinz Marbaise 809ba34055 Code improvement. 2017-03-11 20:53:18 +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
Hervé Boutemy 0db5e32cf5 fixed documentation errors 2017-02-23 19:07:58 +01:00
Stephen Connolly dc9c4db449 [MNG-6078] Perform a proper merge of the two sources of command line arguments
- Needed to extend Commons CLI's CommandLine just to perform the merged
2017-02-23 12:44:34 +00:00
Stephen Connolly 5885e70e24 [MNG-6078] Undo the order reversal hack
- ca43030313 used a hack to reverse the order of arguments
- The side effect of the hack is that the first named system property value on the CLI would win
- The side-effect is causing a lot of integration test builds to fail and will likely have other unintended consequences
- Correct fix is to put system properties at the end.
- If this change passes the integration tests then it will need to be augmented to correctly round-trip the CLI options
  as there is the potential that somebody may legitimately be passing an arg parameter a value that starts with -D
  for example 'mvn -ep -Dsecretpassword' or 'mvn -l -D.log' but given that this requires a parse and unparse
  to handle the escaping, I want to get evidence that the integration tests pass first
2017-02-23 12:44:34 +00:00
August Shi e6217a4555 Fixing misspellings in test names 2017-02-18 18:29:19 +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
Alex Henrie 8d91726f78 [MNG-5934] String handling issues identified by PMD 2017-02-11 14:08:24 +01:00
Arnaud Heritier 23ceca36e7 [MNG-5961] Fix the SLF4J logger factory implementation used for LOG4J2 2017-02-06 00:26:14 +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
Karl Heinz Marbaise ca43030313 [MNG-6078] Can't overwrite properties which have been defined in
.mvn/maven.config
 o Reversed the order of properties only to get the properties from
   command line at the end of the properties list which results
   in correct behaviour to be able to overwrite properties from
   command line for properties which have been defined in
   .mvn/maven.config file.
2017-01-29 21:17:36 +01:00
Michael Osipov 065281c43d [MNG-5607] Don't use M2_HOME in mvn shell/command scripts anymore
* Variable has been removed and replaced with an internal one which
  cannot be overriden from outside. From now on, it is an
  implementation detail which it should have been from the beginning.
* Cleaned up license header and style of the variable description
  section graciously borrowed from the Tomcat start scripts.
2017-01-29 16:53:44 +01:00
Hervé Boutemy 4547ff73d8 added link to 3.3.1 release notes for details on .mvn 2017-01-25 00:09:30 +01:00
Hervé Boutemy 8a8f7cd53f removed now unused checkstyle suppress warnings 2017-01-25 00:09:01 +01:00
Hervé Boutemy 84085c0a9c updated urls (https, plexus) and license header formatting 2017-01-24 23:50:10 +01:00
Hervé Boutemy 94bc4de2ea [MNG-6093] use monkey patched slf4j-simple provider with Maven color 2017-01-24 18:40:07 +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 149cce7a86 [MNG-5977] Improve output readability of our MavenTransferListener implementations
* Applied a general decimal formatter which automatically scales file sizes between [0,10) (one decimal digit) and [10,1000) (whole numbers) along with proper size and time units
* The progress meter will now properly
** tell the amount of transfers along with file names (in debug mode) and absolute progress by size
** visually seperate parallel transfers with " | "
* Optimized and reduced padding to the cases where it actually is necessary
* Padding has to be applied to every event which can succeed with progress update
* Synchronize all calls to console to avoid race conditions where output is terminated by a carriage return only. If no sync is done, SLF4J or INIT/SUCCEEDED update can interleave and overwrite the progress while being shorter as the progress itself.
* Replaced the concurrent hash map with a synchronized linked hash map to retain order of the progress meter. It will behave now like a queue.
* Work around a rounding bug existed upto Java 7
  See http://stackoverflow.com/q/22797964/696632 and Oracle's bugfix
  Announcement: http://www.oracle.com/technetwork/java/javase/8-compatibility-guide-2156366.html

Race conditions cannot be avoided if -T is employed since one does not have access to the output stream of a SLF4J backend to synchronize on.
2017-01-23 11:18:15 +01:00
Michael Osipov deefd9342b [MNG-5954] Remove outdated maven-embedder/src/main/resources/META-INF/MANIFEST.MF 2017-01-22 21:37:57 +01:00
Michael Osipov 355f4dff03 [MNG-5975] Use Java 7's SimpleDateFormat in CLIReportingUtils#formatTimestamp 2017-01-22 21:37:57 +01:00
Hervé Boutemy 079f6b3ba3 [MNG-6088] add a newline after forked execution success message 2017-01-22 17:14:05 +01: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
Michael Osipov d556da8434 Capitalize names in missing -v output 2015-10-10 19:52:56 +02:00
Karl Heinz Marbaise 8a51f9e512 [MNG-5681] Properties on command line with leading or trailing quotes are stripped
Refactored out cleanArgs method from CLIManager into separate class
and added appropriate tests which proves the solution
of the issue.
2015-10-07 17:13:43 +02:00
Keith Turner 7f0e1b7538 [MNG-5891] Log file command line option description contains an extra word
Signed-off-by: Michael Osipov <michaelo@apache.org>
2015-09-21 20:47:02 +02:00
Hervé Boutemy 2669980461 [MNG-5887] updated Modello site url 2015-09-14 19:52:21 +02:00
Karl Heinz Marbaise d12f6501f2 Refactored code to be consistent with other code. 2015-09-06 11:19:48 +02: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
tssp 193778ec0e [MNG-5816] Empy maven.config cause Maven to exit with failure
Avoid adding non empty configuration argument that causes exception.

Signed-off-by: Karl Heinz Marbaise <khmarbaise@apache.org>
2015-07-06 20:21:39 +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
Robert Stern 49a3e55208 Fixed typo 'propery' to 'property' 2015-05-06 13:16:44 +02:00
Jason van Zyl 56e6db1231 MNG-5795: Maven extensions can not be retrieved from authenticated repositories 2015-04-02 00:49:50 -04:00
Hervé Boutemy 08715d87d9 [MNG-5771] added core extension reference 2015-03-12 23:20:10 +01:00
Hervé Boutemy cb356ed478 [MNG-5767] added documentation for project-specific jvm options and
maven command-line parameters
2015-03-12 23:16:02 +01:00
Igor Fedorenko cc429e8451 MNG-5774 restored MavenCli user/global settings location contants
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2015-03-11 18:24:14 -04:00
Hervé Boutemy 207d18ddb6 stupid "enchancement" :) 2015-03-07 09:07:08 +01:00
Hervé Boutemy 5947c4ef71 [MNG-5771] enabled modello xdoc/xsd for core extensions mdo, with
minimum intro.
Still need to improve descriptions and info in mdo
2015-03-06 02:04:17 +01: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 b01bf0c3d4 MNG-5767 enforce use of maven.multiModuleProjectDirectory, fixed mvn*.bat
Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2015-02-26 11:45:29 -05: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 117df855e2 dispose dynamically created class realms
this is mostly to help integration tests reuse the same realm ids,
but plugging resource leaks is generally a good thing.

Signed-off-by: Igor Fedorenko <ifedorenko@apache.org>
2015-02-20 10:26:04 -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
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
Robert Scholte 4f05b59de9 [MNG-5754] Toolchains should be read during initialization
No need to wrap ToolchainsBuildingException with MisconfiguredToolchainException.
The latter was required when using ToolchainManagerPrivate
2015-01-17 16:27:55 +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 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
Michael Osipov 0343c52601 Trimmed trailing whitespace 2014-11-23 13:04:30 +01:00
Hervé Boutemy 9ce1f17d1b [MNG-5707] warn if Maven unsupported slf4j binding used 2014-10-30 14:32:10 +01:00
Hervé Boutemy 366f57c563 updated parent pom (and fixed issues...) 2014-10-24 01:25:49 +02:00
Hervé Boutemy 1ba9a6ffe0 test code formatting 2014-08-19 17:17:05 +02: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
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
a-horst d8fd65a3ae MNG-2570: logging configuration now no longer overwrites the default log level as specified in conf/logging/simplelogger.properties
Submitted by: Andreas Horst <horst.andreas82@gmail.com>
Signed-off-by: Jason van Zyl <jason@tesla.io>
2014-07-06 13:09:41 -04:00
Hervé Boutemy ffff00e908 fixed errors reported by Checkstyle 2014-06-16 18:30:24 +02:00
Michael Osipov 5c78a8d2fa [MNG-5648] Regression of MNG-5176, DST in effect is ignored 2014-06-15 19:16:07 +02:00
Hervé Boutemy a90d71e024 [MNG-5630] added missing ':' in case of forked goal 2014-05-16 22:21:45 +02:00
Hervé Boutemy c2700f38eb updated javadoc 2014-05-13 00:35:15 +02:00
Hervé Boutemy 2cea7c6f84 [MNG-5630] improved display of forked executions: added phase or goal 2014-05-10 20:53:56 +02:00
Michael Osipov 45ab718bc0 [MNG-5623] Exception when printing Reactor Summary 2014-04-30 21:38:22 +02:00
Michael Osipov a39d1d33f2 Remove unused imports. 2014-04-27 11:27:11 +02:00
Michael Osipov 0afed871f2 Small improvement on comments in formatTimestamp. 2014-02-16 16:31:42 +01:00
Jason van Zyl 7a15512d88 Add missing header 2014-02-14 12:11:55 -05:00
Jason van Zyl 87bdfe5168 Add a test for parsing the thread configuration with the core multiplier 2014-02-14 11:47:20 -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
Michael Osipov be19ddb6d9 [MNG-5176] Print build times in an ISO 8601-style manner 2014-02-09 12:14:43 +01:00
Hervé Boutemy 4a39c02156 fixed errors reported by Checkstyle 2014-02-08 16:38:31 +01:00
Jason van Zyl 0c5678fa89 Remove weave mode building from the core 2014-02-06 16:27:15 -05:00