review project dependencies
----------------------------
Key: JBPM-1428
URL:
https://jira.jboss.org/jira/browse/JBPM-1428
Project: JBoss jBPM
Issue Type: Task
Security Level: Public(Everyone can see)
Reporter: Tom Baeyens
too much libs in the distribution. <optional>true</optional> can control
that.
see also
http://maven.apache.org/guides/introduction/introduction-to-optional-and-...
http://maven.apache.org/pom.html#Dependencies
"
# scope:
This element refers to the classpath of the task at hand (compiling and runtime, testing,
etc.) as well as how to limit the transitivity of a depedency. There are five scopes
available:
* compile - this is the default scope, used if none is specified. Compile
dependencies are available in all classpaths. Furthermore, those dependencies are
propagated to dependent projects.
* provided - this is much like compile, but indicates you expect the JDK or a
container to provide it at runtime. It is only available on the compilation and test
classpath, and is not transitive.
* runtime - this scope indicates that the dependency is not required for compilation,
but is for execution. It is in the runtime and test classpaths, but not the compile
classpath.
* test - this scope indicates that the dependency is not required for normal use of
the application, and is only available for the test compilation and execution phases.
* system - this scope is similar to provided except that you have to provide the JAR
which contains it explicitly. The artifact is always available and is not looked up in a
repository.
# optional:
Marks optional a dependency when this project itself is a dependency. Confused? For
example, imagine a project A that depends upon project B to compile a portion of code that
may not be used at runtime, then we may have no need for project B for all project. So if
project X adds project A as its own dependency, then Maven will not need to install
project B at all. Symbolically, if => represents a required dependency, and -->
represents optional, although A=>B may be the case when building A X=>A-->B would
be the case when building X.
In the shortest terms, optional lets other projects know that, when you use this project,
you do not require this dependency in order to work correctly.
"
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: