mirror of https://github.com/apache/ant-ivy
192 lines
6.5 KiB
Plaintext
192 lines
6.5 KiB
Plaintext
////
|
|
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
|
|
|
|
https://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.
|
|
////
|
|
|
|
= Using standalone
|
|
|
|
Ivy can be used as a standalone program very easily. All you need is a Java 7+ runtime environment (JRE)!
|
|
|
|
Then here is how to call it:
|
|
|
|
[source,shell]
|
|
----
|
|
java -jar ivy.jar -?
|
|
----
|
|
|
|
It will display usage text as follows:
|
|
|
|
[source]
|
|
----
|
|
usage: ivy
|
|
==== settings options
|
|
-settings <settingsfile> use given file for settings
|
|
-properties <propertiesfile> use given file for properties not specified in set
|
|
tings
|
|
-cache <cachedir> use given directory for cache
|
|
-novalidate do not validate ivy files against xsd
|
|
-m2compatible use Maven 2 compatibility
|
|
|
|
==== resolve options
|
|
-ivy <ivyfile> use given file as ivy file
|
|
-refresh refresh dynamic resolved revisions
|
|
-dependency <organisation> <module> <revision>
|
|
use this instead of ivy file to do the rest of the
|
|
work with this as a dependency.
|
|
-confs <configurations> resolve given configurations
|
|
-types <types> accepted artifact types
|
|
-mode <resolvemode> the resolve mode to use
|
|
-notransitive do not resolve dependencies transitively
|
|
|
|
==== retrieve options
|
|
-retrieve <retrievepattern> use given pattern as retrieve pattern
|
|
-ivypattern <pattern> use given pattern to copy the ivy files
|
|
-sync use sync mode for retrieve
|
|
-symlink create symbolic links
|
|
-overwriteMode <overwriteMode> use given overwrite mode for retrieve
|
|
|
|
==== cache path options
|
|
-cachepath <cachepathfile> outputs a classpath consisting of all dependencies
|
|
in cache (including transitive ones) of the given
|
|
ivy file to the given cachepathfile
|
|
|
|
==== deliver options
|
|
-deliverto <ivypattern> use given pattern as resolved ivy file pattern
|
|
|
|
==== publish options
|
|
-publish <resolvername> use given resolver to publish to
|
|
-publishpattern <artpattern> use given pattern to find artifacts to publish
|
|
-revision <revision> use given revision to publish the module
|
|
-status <status> use given status to publish the module
|
|
-overwrite overwrite files in the repository if they exist
|
|
|
|
==== makepom options
|
|
-makepom <pomfilepath> create a POM file for the module
|
|
|
|
==== http auth options
|
|
-realm <realm> use given realm for HTTP AUTH
|
|
-host <host> use given host for HTTP AUTH
|
|
-username <username> use given username for HTTP AUTH
|
|
-passwd <passwd> use given password for HTTP AUTH
|
|
|
|
==== launcher options
|
|
-main <main> the FQCN of the main class to launch
|
|
-args <args> the arguments to give to the launched process
|
|
-cp <cp> extra classpath to use when launching process
|
|
|
|
==== message options
|
|
-debug set message level to debug
|
|
-verbose set message level to verbose
|
|
-warn set message level to warn
|
|
-error set message level to error
|
|
|
|
==== help options
|
|
-? display this help
|
|
-deprecated show deprecated options
|
|
-version displays version information
|
|
----
|
|
|
|
(*__since 1.3__*) System properties are included as Ivy variables, so you can easily define an Ivy variable like this:
|
|
|
|
[source,shell]
|
|
----
|
|
java -Dmyivyvar=myvalue org.apache.ivy.Main [parameters]
|
|
----
|
|
|
|
(*__since 2.5__*) Additional properties defined in a separate `.properties` file (rather than Ivy settings) can be loaded using `-properties` option like this:
|
|
|
|
[source,shell]
|
|
----
|
|
java -jar ivy.jar -properties version.properties -main org.apache.tools.ant.Main
|
|
----
|
|
|
|
NOTE: Prior to 2.5, Ivy `-main` created a classloader that used Ivy classloader as a parent. This is no longer the case; if your usage depended on Ivy classes being available, Ivy must be declared as a dependency of the component that you want to launch.
|
|
|
|
(*__since 2.5__*) Ivy can convert `ivy.xml` files to `pom.xml` files using `-makepom` option.
|
|
|
|
== Examples
|
|
|
|
[source,shell]
|
|
----
|
|
java -jar ivy.jar
|
|
----
|
|
|
|
calls Ivy with default configuration using ivy.xml in the current dir
|
|
|
|
'''
|
|
|
|
[source,shell]
|
|
----
|
|
java -jar ivy.jar -settings path/to/myivysettings.xml -ivy path/to/myivy.xml
|
|
----
|
|
|
|
calls Ivy with given Ivy settings file using given Ivy file
|
|
|
|
'''
|
|
|
|
(*__since 1.3__*)
|
|
|
|
[source,shell]
|
|
----
|
|
java -jar ivy.jar -settings path/to/myivysettings.xml -dependency apache commons-lang 2.0
|
|
----
|
|
|
|
calls Ivy with given Ivy settings file and resolve apache `commons-lang 2.0`.
|
|
|
|
This is equivalent to:
|
|
|
|
[source,shell]
|
|
----
|
|
java -jar ivy.jar -settings path/to/myivysettings.xml -ivy ivy.xml
|
|
----
|
|
|
|
with `ivy.xml` like this:
|
|
|
|
[source,xml]
|
|
----
|
|
<ivy-module version="1.0">
|
|
<info organisation="org"
|
|
module="standalone"
|
|
revision="working"/>
|
|
<dependencies>
|
|
<dependency org="apache" name="commons-lang" rev="2.0" conf="default->*"/>
|
|
</dependencies>
|
|
</ivy-module>
|
|
----
|
|
|
|
'''
|
|
|
|
(*__since 1.3__*)
|
|
|
|
[source,shell]
|
|
----
|
|
java -jar ivy.jar -settings path/to/myivysettings.xml -ivy path/to/myivy.xml -cachepath mycachefile.txt
|
|
----
|
|
|
|
calls Ivy with given Ivy settings file and resolves the dependencies found in the given Ivy file, and then outputs the classpath of resolved artifacts in cache in a file. This file can then be used to define a classpath corresponding to all the resolved dependencies for any Java program.
|
|
|
|
'''
|
|
|
|
(*__since 1.4__*)
|
|
|
|
[source,shell]
|
|
----
|
|
java -jar ivy.jar -settings path/to/myivysettings.xml -dependency bar foo 2.0 -main org.bar.foo.FooMain
|
|
----
|
|
|
|
calls Ivy with given Ivy settings file and resolves the dependency `bar` `foo` `2.0`, and then runs `org.foo.FooMain` class with the resolved artifacts as classpath.
|