Return-Path: Delivered-To: apmail-ant-ivy-user-archive@www.apache.org Received: (qmail 1727 invoked from network); 26 Jun 2009 11:41:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 26 Jun 2009 11:41:53 -0000 Received: (qmail 39849 invoked by uid 500); 26 Jun 2009 11:42:03 -0000 Delivered-To: apmail-ant-ivy-user-archive@ant.apache.org Received: (qmail 39794 invoked by uid 500); 26 Jun 2009 11:42:03 -0000 Mailing-List: contact ivy-user-help@ant.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: ivy-user@ant.apache.org Delivered-To: mailing list ivy-user@ant.apache.org Received: (qmail 39784 invoked by uid 99); 26 Jun 2009 11:42:03 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 26 Jun 2009 11:42:03 +0000 X-ASF-Spam-Status: No, hits=3.4 required=10.0 tests=HTML_MESSAGE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [205.229.50.22] (HELO HOPI.emea.echcorp.com) (205.229.50.22) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 26 Jun 2009 11:41:49 +0000 X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01C9F653.0A9BBD8F" Subject: Publication of the artifacts with classifiers to the maven repository Date: Fri, 26 Jun 2009 12:41:25 +0100 Message-ID: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Publication of the artifacts with classifiers to the maven repository thread-index: Acn2Uwkn7D6wYffnQRmD3rA92F8Tjw== From: "Sergey Shcherbakov" To: X-Virus-Checked: Checked by ClamAV on apache.org ------_=_NextPart_001_01C9F653.0A9BBD8F Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi all, =20 Understanding advantages of the Ivy vs. Maven I am using Ivy as dependency managing tool for our non-Java projects. But we have also some Java maven projects that cannot be migrated to Ivy now. =20 So I am trying to use homogenous dependency environment where Ivy projects sometimes depend on the Maven artifacts in the maven repository. =20 Recently I found a problem. =20 An Ivy project A publishes it's "snapshot" artifact to the maven repository so that it can be used by other maven projects. There is another Ivy project B that among others depends on artifacts generated by project A. =20 In case of snapshot build the artifact gets changed without changing its version number. The project A overwrites the artifact in the repository with each snapshot build properly. =20 The project B finds this artifact for the first time, downloads it to the ivy cache and uses OK. =20 The problem is that the project B doesn't notice that the artifact gets changed in the maven repo and doesn't update the cache although changing=3D"true" is specified for that dependency. Thus outdated = version of the A comes into the project B build. =20 The resolution in debug mode shows : [ivy:resolve] A is changing, but has not changed: will trust cached artifacts if any =20 There was though some problem with ivy repo file parsing (shown only in debug mode): =20 [ivy:resolve] problem while parsing cached ivy file for: com.echelon.es#LnsNative;4.03.000-SNAPSHOT: [xml parsing: ivy-4.03.000- SNAPSHOT.xml:15:85: cvc-complex-type.3.2.2: Attribute 'classifier' is not allowed to appear in element 'artifact'. in file:/C:/Doc uments%20and%20Settings/ss/.ivy2/cache/A/ivy-4.03.000-SNAPSHOT.xml =20 The cached ivy file do really contains classifier attribute but doesn't have namespace prefix and no xmlns declaration, although the initial project A ivy.xml file had that definitions. Obviously, when Ivy published artifacts (or when the cache ivy file was generated) the namespace prefixes were removed by Ivy. Can that be a reason of not updating snapshot artifacts in cache? =20 Best Regards, Sergey Shcherbakov. ------_=_NextPart_001_01C9F653.0A9BBD8F--