| //// |
| 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. |