Commit Graph

833 Commits

Author SHA1 Message Date
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
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
Michael Osipov d55dca85a1 Leave a space between colon and Console read password to improve
readability.
2014-02-01 12:23:10 +01:00
Robert Scholte 626884e9ee [MNG-4099] Password encryption CLI switches should prompt for password if missing 2014-01-10 22:29:00 +01: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
Robert Scholte 61dbaabfbd [MNG-5528] Help text confuses people 2014-01-06 23:21:26 +01: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 9bec8d7386 Use chained .append calls rather than concatenate strings in arguments to .append 2014-01-06 10:42:20 +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
Hervé Boutemy 19b0bb3ff3 link to SLF4J documentation on switching SLF4J binding 2013-08-02 10:58:06 +02:00
Hervé Boutemy 8bbfb6f3c2 more explanations on logger names 2013-08-02 10:05:27 +02:00
Hervé Boutemy f63335c4e6 more details on logging implementation 2013-08-02 09:58:43 +02:00
Hervé Boutemy ea97145dfc javadoc improvement 2013-08-02 01:28:45 +02:00
Hervé Boutemy aaa198abfb improved logging documentation 2013-08-02 01:27:07 +02:00
Hervé Boutemy b83de53e86 [MNG-5500] tracking file is now _remote.repositories (was
_maven.repositories in Maven 3.0.x)
2013-07-28 18:35:31 +02:00
Olivier Lamy e2f99c2ca5 add missing @since 3.1.0 2013-07-20 15:42:08 +10: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 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 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 a2897f86b3 Code cleanup - Maven requires Java 5+ : Remove unnecessary unboxing 2013-06-11 21:47:18 +02:00