diff options
Diffstat (limited to 'framework/src/maven/apache-maven-3.3.3/maven-embedder/src/site/apt')
3 files changed, 182 insertions, 0 deletions
diff --git a/framework/src/maven/apache-maven-3.3.3/maven-embedder/src/site/apt/cli.apt.vm b/framework/src/maven/apache-maven-3.3.3/maven-embedder/src/site/apt/cli.apt.vm new file mode 100644 index 00000000..b5dcae71 --- /dev/null +++ b/framework/src/maven/apache-maven-3.3.3/maven-embedder/src/site/apt/cli.apt.vm @@ -0,0 +1,28 @@ +~~ Licensed to the Apache Software Foundation (ASF) under one +~~ or more contributor license agreements. See the NOTICE file +~~ distributed with this work for additional information +~~ regarding copyright ownership. The ASF licenses this file +~~ to you under the Apache License, Version 2.0 (the +~~ "License"); you may not use this file except in compliance +~~ with the License. You may obtain a copy of the License at +~~ +~~ http://www.apache.org/licenses/LICENSE-2.0 +~~ +~~ Unless required by applicable law or agreed to in writing, +~~ software distributed under the License is distributed on an +~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +~~ KIND, either express or implied. See the License for the +~~ specific language governing permissions and limitations +~~ under the License. + + ----- + Maven CLI Options Reference + ----- + Hervé Boutemy + ----- + 2012-04-29 + ----- + +Maven CLI Options Reference + +%{snippet|file=${project.basedir}/target/test-classes/options.html|verbatim=false} diff --git a/framework/src/maven/apache-maven-3.3.3/maven-embedder/src/site/apt/index.apt.vm b/framework/src/maven/apache-maven-3.3.3/maven-embedder/src/site/apt/index.apt.vm new file mode 100644 index 00000000..519fdae2 --- /dev/null +++ b/framework/src/maven/apache-maven-3.3.3/maven-embedder/src/site/apt/index.apt.vm @@ -0,0 +1,42 @@ +~~ Licensed to the Apache Software Foundation (ASF) under one +~~ or more contributor license agreements. See the NOTICE file +~~ distributed with this work for additional information +~~ regarding copyright ownership. The ASF licenses this file +~~ to you under the Apache License, Version 2.0 (the +~~ "License"); you may not use this file except in compliance +~~ with the License. You may obtain a copy of the License at +~~ +~~ http://www.apache.org/licenses/LICENSE-2.0 +~~ +~~ Unless required by applicable law or agreed to in writing, +~~ software distributed under the License is distributed on an +~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +~~ KIND, either express or implied. See the License for the +~~ specific language governing permissions and limitations +~~ under the License. + + ----- + ${project.name} + ----- + Hervé Boutemy + ----- + 2015-03-12 + ----- + +${project.name} + + ${project.description} + +* References + + * {{{./cli.html}CLI options}}, + + * {{{./logging.html}logging API}}. + + * since 3.3.0, per project settings can be defined by files in <<<.mvn/>>> directory: + + * <<<.mvn/jvm.config>>> containing jvm options, + + * <<<.mvn/maven.config>>> containing Maven command-line parameter, + + * <<<.mvn/extensions.xml>>> containing {{{./core-extensions.html}a list of extensions}}. diff --git a/framework/src/maven/apache-maven-3.3.3/maven-embedder/src/site/apt/logging.apt b/framework/src/maven/apache-maven-3.3.3/maven-embedder/src/site/apt/logging.apt new file mode 100644 index 00000000..cc9257d3 --- /dev/null +++ b/framework/src/maven/apache-maven-3.3.3/maven-embedder/src/site/apt/logging.apt @@ -0,0 +1,112 @@ +~~ Licensed to the Apache Software Foundation (ASF) under one +~~ or more contributor license agreements. See the NOTICE file +~~ distributed with this work for additional information +~~ regarding copyright ownership. The ASF licenses this file +~~ to you under the Apache License, Version 2.0 (the +~~ "License"); you may not use this file except in compliance +~~ with the License. You may obtain a copy of the License at +~~ +~~ http://www.apache.org/licenses/LICENSE-2.0 +~~ +~~ Unless required by applicable law or agreed to in writing, +~~ software distributed under the License is distributed on an +~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +~~ KIND, either express or implied. See the License for the +~~ specific language governing permissions and limitations +~~ under the License. + + ----- + Maven Logging + ----- + Hervé Boutemy + ----- + 2013-08-02 + ----- + +Maven Logging + + End-user logging documentation is available {{{/maven-logging.html}in Maven site}}. + This documentation is focused on internal implementation details. + +* Logging API + + Maven uses + {{{http://plexus.codehaus.org/plexus-containers/plexus-container-default/apidocs/org/codehaus/plexus/logging/package-summary.html}Plexus + Container logging API}}, like any other Plexus components, ie + {{{http://plexus.codehaus.org/plexus-containers/plexus-container-default/apidocs/org/codehaus/plexus/logging/LoggerManager.html}LoggerManager}} + / {{{http://plexus.codehaus.org/plexus-containers/plexus-container-default/apidocs/org/codehaus/plexus/logging/Logger.html}Logger}}. + + Starting with Maven 3.1.0: + + * Maven supports SLF4J API logging API too, ie {{{http://slf4j.org/apidocs/org/slf4j/LoggerFactory.html}LoggerFactory}} / + {{{http://slf4j.org/apidocs/org/slf4j/Logger.html}Logger}}, + + * instead of implementing Plexus logging API itself with basic output to console, Maven implements it using SLF4J API in + {{{./apidocs/org/apache/maven/cli/logging/Slf4jLoggerManager.html}Slf4jLoggerManager}} + / {{{./apidocs/org/apache/maven/cli/logging/Slf4jLogger.html}Slf4jLogger}}. + + +* Logging Implementation + + Maven 3.1.0 ships bundled with {{{http://www.slf4j.org/apidocs/org/slf4j/impl/SimpleLogger.html}SLF4J simple logger}}, + but is ready to use other logging implementations: SLF4J is responsible for loading the implementation, referred to as + {{{http://www.slf4j.org/manual.html#swapping}"SLF4J bindings"}}. + + Logging configuration loading is actually done by logging implementation, without any Maven extensions to support merging + Maven installation configuration with per-user configuration for example: + `${maven.home}/conf/logging` directory was added to core's classpath (see `${maven.home}/bin/m2.conf`). See your implementation + documentation for details on file names, formats, and so on. + + During Maven initialization, Maven tweaks default root logging level to match CLI verbosity choice. Since such feature isn't available + in SLF4J API, logging implementation specific extensions need to be added into Maven to support these CLI options: see + {{{./apidocs/org/apache/maven/cli/logging/Slf4jConfigurationFactory.html}Slf4jConfigurationFactory}} / + {{{./apidocs/org/apache/maven/cli/logging/Slf4jConfiguration.html}Slf4jConfiguration}}. + +* Getting Logger Instance + + Plexus Logger and LoggerManager can be injected in Plexus component using Plexus annotations + ++------+ +import org.codehaus.plexus.logging.Logger; +import org.codehaus.plexus.component.annotations.Component; +import org.codehaus.plexus.component.annotations.Requirement; + +@Component( role = MyComponent.class ) +public class DefaultMyComponent + implements MyComponent +{ + @Requirement + private Logger logger; + + @Requirement + private LoggerManager loggerManager; +} ++------+ + + Starting with Maven 3.1.0, SLF4J Logger can be used directly too, without Plexus. Of course, this will only work when run under + Maven 3.1.0, then this technique can be used safely only in Maven core components or in plugins/component not requiring + compatibility with previous Maven versions. + ++-----+ +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class MyClass +{ + final Logger logger = LoggerFactory.getLogger( MyClass.class ); +} ++-----+ + +* Logger Name + + Before Maven 3.1.0, with logging implementation done in Maven, logger name wasn't used by basic console logging implementation: + they are as-is, without clear convention on when to pass logger from class to class or when to create a new logger. + + Starting with Maven 3.1.0, logging implementation can be of greatest use if logger names are well defined. This definition still + needs to be defined and implemented: + + * classical "class name" pattern? + + * Maven-specific name hierarchy? + + * a mix (some with class name, some with Maven-specific hierarchy)? |