Ivy: Difference between revisions

From Chorke Wiki
Jump to navigation Jump to search
 
(6 intermediate revisions by the same user not shown)
Line 80: Line 80:
     <resolvers>
     <resolvers>
         <ibiblio name="central" m2compatible="true"/>
         <ibiblio name="central" m2compatible="true"/>
         <ibiblio name="chorke.releases" root="http://mvn.chorke.org/m2/releases/" m2compatible="true"/>
        <ibiblio name="chorke.public" root="http://mvn.chorke.org/m2/public" m2compatible="true"/>
         <ibiblio name="chorke.releases" root="http://mvn.chorke.org/m2/releases" m2compatible="true"/>
         <chain name="chorke.chain">
         <chain name="chorke.chain">
             <resolver ref="central"/>
             <resolver ref="central"/>
            <resolver ref="chorke.public"/>
             <resolver ref="chorke.releases"/>
             <resolver ref="chorke.releases"/>
         </chain>
         </chain>
     </resolvers>
     </resolvers>
     <modules>
     <modules>
         <module organisation="org.chorke.init" resolver="chorke.releases"/>
         <module organisation="com.oracle.jdbc" resolver="chorke.public"/>
     </modules>
     </modules>
</ivysettings>
</ivysettings>
</source>
</source>


==Settings==
==Ivy==
<code>ivy.xml</code>
<code>ivy.xml</code>
<source lang="xml">
<source lang="xml">
Line 100: Line 102:
         <conf name="compile" description="compile time dependencies"/>
         <conf name="compile" description="compile time dependencies"/>
         <conf name="runtime" description="run-time dependencies" extends="compile"/>
         <conf name="runtime" description="run-time dependencies" extends="compile"/>
         <conf name="test" description="test only dependencies" extends="runtime"/>
         <conf name="test" description="unit testing dependencies" extends="runtime"/>
         <conf name="build" description="ant dependencies"/>
         <conf name="build" description="ant dependencies"/>
     </configurations>
     </configurations>
     <dependencies>
     <dependencies>
         <dependency org="org.chorke.init" name="chorke-init-launch" rev="1.0.00.GA" conf="compile->default">
         <dependency org="org.liquibase" name="liquibase-core" rev="3.5.3" conf="build->default"/>
             <exclude org="com.lowagie" module="itext"/>
        <dependency org="ant-contrib" name="ant-contrib" rev="1.0b3" conf="build->default">
             <exclude org="ant" module="ant"/>
         </dependency>
         </dependency>
        <dependency org="org.liquibase" name="liquibase-core" rev="3.5.3" conf="build->default"/>
        <dependency org="org.slf4j" name="slf4j-simple" rev="1.6.4" conf="runtime->default"/>
        <dependency org="ant-contrib" name="ant-contrib" rev="1.0b3" conf="build->default"/>
        <dependency org="org.slf4j" name="slf4j-api" rev="1.6.4" conf="compile->default"/>
        <dependency org="junit" name="junit" rev="4.10" conf="test->default"/>


        <!-- vendor specific jdbc driver to perform liquibase migration -->
         <dependency org="com.microsoft.sqlserver" name="mssql-jdbc" rev="6.2.2.jre7" conf="build->default"/>
         <dependency org="com.microsoft.sqlserver" name="mssql-jdbc" rev="6.2.2.jre7" conf="build->default"/>
         <dependency org="org.apache.derby" name="derbyclient" rev="10.10.2.0" conf="build->default"/>
         <dependency org="org.apache.derby" name="derbyclient" rev="10.10.2.0" conf="build->default"/>
         <dependency org="postgresql" name="postgresql" rev="9.0-801.jdbc4" conf="build->default"/>
         <dependency org="postgresql" name="postgresql" rev="9.0-801.jdbc4" conf="build->default"/>
        <dependency org="mysql" name="mysql-connector-java" rev="5.1.21" conf="build->default"/>
         <dependency org="org.apache.derby" name="derby" rev="10.10.2.0" conf="build->default"/>
         <dependency org="org.apache.derby" name="derby" rev="10.10.2.0" conf="build->default"/>
        <dependency org="mysql" name="mysql-connector-java" rev="5.1.21" conf="build->default"/>
         <dependency org="com.oracle.jdbc" name="ojdbc6" rev="11.2.0.4" conf="build->default">
         <dependency org="com.oracle.jdbc" name="ojdbc6" rev="11.2.0.4" conf="build->default">
             <exclude org="com.oracle.jdbc" module="xmlparserv2"/>
             <exclude org="com.oracle.jdbc" module="xmlparserv2"/>
Line 133: Line 132:


==References==
==References==
{|
| valign="top" |
* [https://stackoverflow.com/questions/23515394 Run an Ant build.xml file inside a Jar]
* [https://stackoverflow.com/questions/23515394 Run an Ant build.xml file inside a Jar]
* [https://stackoverflow.com/questions/6938241 Add repositories and specificy repository]
* [https://stackoverflow.com/questions/6938241 Add repositories and specificy repository]
| valign="top" |
| valign="top" |
|-
| colspan="3" |
----
|-
| valign="top" |
* [[CocoaPods]]
* [[Maven]]
* [[Conan]]
* [[Bazel]]
* [[NPM]]
* [[Ant]]
| valign="top" |
| valign="top" |
|}

Latest revision as of 20:57, 18 January 2024

├─ build.xml
├─ ivysettings.xml
├─ ivy.xml
└─ ant
    ├─ build.js
    └─ build.properties

Ant Build

build.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project name="chorke" default="cki.ini" basedir="." 
    xmlns:ivy="antlib:org.apache.ivy.ant" 
    xmlns:ac="antlib:net.sf.antcontrib">

    <description>chorke ant ivy impl</description>
    <property name="ant.dir" location="${basedir}/ant"/>
    <property name="ant.lib" location="${user.home}/.ant/lib"/>
    <property name="chorke.home" location="${user.home}/.chorke"/>
    <property name="academia.home" location="${chorke.home}/academia"/>
    <property name="sonatype.local" value="https://repository.sonatype.org/service/local"/>
    <property name="central.proxy" value="${sonatype.local}/artifact/maven/redirect?r=central-proxy"/>

    <available file="${ant.lib}/ivy.jar" property="ivy.jar.exist"/>
    <condition property="ivy.jar.not.exist">
        <not>
            <available file="${ant.lib}/ivy.jar"/>
        </not>
    </condition>

    <target name="cki.log">
        <script language="javascript" src="${ant.dir}/build.js">
            Chorke.ant.init(true);
        </script>
    </target>

    <target name="cki.get" depends="cki.log" if="ivy.jar.not.exist">
        <mkdir dir="${ant.lib}"/>
        <get src="${central.proxy}&amp;g=org.apache.ivy&amp;a=ivy&amp;v=2.3.0&amp;e=jar" dest="${ant.lib}/ivy.jar"/>
    </target>

    <target name="cki.ivy" depends="cki.get" if="ivy.jar.exist">
        <ivy:resolve/>
        <ivy:report todir="${basedir}/target/ivy-reports" graph="false" xml="false"/>
        <ivy:cachepath pathid="compile.path" conf="compile"/>
        <ivy:cachepath pathid="runtime.path" conf="runtime"/>
        <ivy:cachepath pathid="build.path" conf="build"/>
        <ivy:cachepath pathid="test.path" conf="test"/>
    </target>

    <target name="cki.def" depends="cki.ivy" if="ivy.jar.exist">
        <taskdef uri="antlib:net.sf.antcontrib" classpathref="build.path"/>
    </target>

    <target name="cki.dep" if="ivy.jar.exist">
        <echo message="Hello, world"/>
        <echo message="The first five letters of the alphabet are:"/>
        <ac:for list="a,b,c,d,e" param="letter">
            <sequential>
                <echo>Letter @{letter}</echo>
            </sequential>
        </ac:for>
    </target>

    <target name="cki.ini" depends="cki.def">
        <sequential>
            <antcall target="cki.dep"/>
        </sequential>
    </target>
</project>

Settings

ivysettings.xml

<ivysettings>
    <settings defaultResolver="chorke.chain"/>
    <caches defaultCacheDir="${basedir}/.ivy2/cache"/>
    <credentials host="mvn.chorke.org" realm="Authorization" username="maven" passwd="chorke"/>
    <resolvers>
        <ibiblio name="central" m2compatible="true"/>
        <ibiblio name="chorke.public" root="http://mvn.chorke.org/m2/public" m2compatible="true"/>
        <ibiblio name="chorke.releases" root="http://mvn.chorke.org/m2/releases" m2compatible="true"/>
        <chain name="chorke.chain">
            <resolver ref="central"/>
            <resolver ref="chorke.public"/>
            <resolver ref="chorke.releases"/>
        </chain>
    </resolvers>
    <modules>
        <module organisation="com.oracle.jdbc" resolver="chorke.public"/>
    </modules>
</ivysettings>

Ivy

ivy.xml

<ivy-module version="2.0">
    <info organisation="org.chorke.make" module="chorke-make-migrat" status="integration"/>
    <configurations>
        <conf name="compile" description="compile time dependencies"/>
        <conf name="runtime" description="run-time dependencies" extends="compile"/>
        <conf name="test" description="unit testing dependencies" extends="runtime"/>
        <conf name="build" description="ant dependencies"/>
    </configurations>
    <dependencies>
        <dependency org="org.liquibase" name="liquibase-core" rev="3.5.3" conf="build->default"/>
        <dependency org="ant-contrib" name="ant-contrib" rev="1.0b3" conf="build->default">
            <exclude org="ant" module="ant"/>
        </dependency>

        <!-- vendor specific jdbc driver to perform liquibase migration -->
        <dependency org="com.microsoft.sqlserver" name="mssql-jdbc" rev="6.2.2.jre7" conf="build->default"/>
        <dependency org="org.apache.derby" name="derbyclient" rev="10.10.2.0" conf="build->default"/>
        <dependency org="postgresql" name="postgresql" rev="9.0-801.jdbc4" conf="build->default"/>
        <dependency org="mysql" name="mysql-connector-java" rev="5.1.21" conf="build->default"/>
        <dependency org="org.apache.derby" name="derby" rev="10.10.2.0" conf="build->default"/>
        <dependency org="com.oracle.jdbc" name="ojdbc6" rev="11.2.0.4" conf="build->default">
            <exclude org="com.oracle.jdbc" module="xmlparserv2"/>
            <exclude org="com.oracle.jdbc" module="oraclepki"/>
            <exclude org="com.oracle.jdbc" module="osdt_cert"/>
            <exclude org="com.oracle.jdbc" module="osdt_core"/>
            <exclude org="com.oracle.jdbc" module="orai18n"/>
            <exclude org="com.oracle.jdbc" module="xdb6"/>
        </dependency>
        <dependency org="com.h2database" name="h2" rev="1.4.190" conf="build->default"/>
        <dependency org="org.hsqldb" name="hsqldb" rev="2.3.3" conf="build->default"/>
    </dependencies>
</ivy-module>

References