You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ant.apache.org by "Steve Brown (JIRA)" <ji...@apache.org> on 2008/09/04 17:09:51 UTC
[jira] Created: (IVY-895) Transactional Publishing to the
FileSytemResolver doesn't work as expected.
Transactional Publishing to the FileSytemResolver doesn't work as expected.
---------------------------------------------------------------------------
Key: IVY-895
URL: https://issues.apache.org/jira/browse/IVY-895
Project: Ivy
Issue Type: Bug
Components: Core
Affects Versions: 2.0.0-beta-2
Environment: Windows XP Professional SP2, Sun JDK 1.5.17, 3Gb Ram, 8 Core Xeon processor.
Reporter: Steve Brown
After publishing with transactional="auto", the revisions directory in the jars directory has a name like "1.0.part". The corresponding directory in the ivys directory has a correct name like "1.0"
The Ivy settings file is:
<?xml version="1.0" encoding="UTF-8"?>
<ivysettings>
<property name="build.ivy.cache.dir" value="ivy/cache" override="false"/>
<property name="build.ivy.repo.url" value="http://lonespappd0a.uk.db.com:8770/repo" override="false"/>
<property name="build.ivy.resolver" value="url-resolve" override="false"/>
<caches defaultCacheDir="${build.ivy.cache.dir}" defaultResolver="${build.ivy.resolver}" />
<resolvers>
<url name="url-resolve" latest="latest-revision">
<ivy pattern="${build.ivy.repo.url}/[organisation]/[module]/ivys/[module]-[revision].xml" />
<artifact pattern="${build.ivy.repo.url}/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]" />
<artifact pattern="${build.ivy.repo.url}/[organisation]/[module]/[type]s/[artifact].[ext]" />
<ivy pattern="${build.ivy.repo.url}/[organisation]/[module]/ivys/[revision]/[module]-[revision].xml" />
<artifact pattern="${build.ivy.repo.url}/[organisation]/[module]/[type]s/[revision]/[artifact]-[revision].[ext]" />
<artifact pattern="${build.ivy.repo.url}/[organisation]/[module]/[type]s/[revision]/[artifact].[ext]" />
</url>
<filesystem name="fs" latest="latest-revision">
<ivy pattern="${build.local.ivy.repository}/[organisation]/[module]/ivys/[module]-[revision].xml" />
<artifact pattern="${build.local.ivy.repository}/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]" />
<artifact pattern="${build.local.ivy.repository}/[organisation]/[module]/[type]s/[artifact].[ext]" />
<ivy pattern="${build.local.ivy.repository}/[organisation]/[module]/ivys/[revision]/[module]-[revision].xml" />
<artifact pattern="${build.local.ivy.repository}/[organisation]/[module]/[type]s/[revision]/[artifact]-[revision].[ext]" />
<artifact pattern="${build.local.ivy.repository}/[organisation]/[module]/[type]s/[revision]/[artifact].[ext]" />
</filesystem>
<filesystem name="fs1" latest="latest-revision" transactional="false">
<ivy pattern="${build.local.ivy.repository}/[organisation]/[module]/[type]s/[revision]/[module]-[revision].xml" />
<artifact pattern="${build.local.ivy.repository}/[organisation]/[module]/[type]s/[revision]/[artifact]-[revision].[ext]" />
</filesystem>
</resolvers>
<modules>
<module organisation=".*" name=".*" resolver="${build.ivy.resolver}" />
</modules>
</ivysettings>
The Ivy file is:
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="1.3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
<info organisation="org" module="module" />
<publications>
<artifact name="xyz" type="jar"/>
</publications>
<dependencies>
<dependency org="checkstyle" name="checkstyle" rev="latest.integration" />
<dependency org="pmd" name="pmd" rev="latest.integration" />
<dependency org="xxx" name="all" rev="latest.integration">
<include name="yyyy"/>
</dependency>
<dependency org="xxx" name="j2ee" rev="latest.integration" />
</dependencies>
</ivy-module>
The Ant target is like this:
<target
name="publish.to.ivy"
depends="init.ivy"
description="Publish the jar file to the Ivy repository">
<echoproperties prefix="ivy"/>
<property name="ivy.deliver.revision" value="${ivy.new.revision}"/>
<ivy:publish
resolver="fs1"
status="integration"
update="true">
<artifacts pattern="${build.packages.dir}/[artifact].[ext]"/>
</ivy:publish>
</target>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (IVY-895) Transactional Publishing to the
FileSytemResolver doesn't work as expected.
Posted by "Maarten Coene (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/IVY-895?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12637642#action_12637642 ]
Maarten Coene commented on IVY-895:
-----------------------------------
According to the documentation from the website http://ant.apache.org/ivy/history/latest-milestone/resolver/filesystem.html :
{quote}
Limitations
Atomic publish is currently limited in several ways:
* you need to use a pattern for both the artifact and the ivy files which uses the revision as last directory. For instance [module]/[revision]/[artifact].[ext] works, [module]/[artifact]-[revision].[ext] doesn't
* both the artifact and ivy pattern should have the same prefix until the [revision] token.
* overwrite during publish is not supported
* you should not use revision names ending with '.part'
{quote}
It seems to me that your patterns doesn't qualify the second requirement.
> Transactional Publishing to the FileSytemResolver doesn't work as expected.
> ---------------------------------------------------------------------------
>
> Key: IVY-895
> URL: https://issues.apache.org/jira/browse/IVY-895
> Project: Ivy
> Issue Type: Bug
> Components: Core
> Affects Versions: 2.0.0-beta-2
> Environment: Windows XP Professional SP2, Sun JDK 1.5.17, 3Gb Ram, 8 Core Xeon processor.
> Reporter: Steve Brown
>
> After publishing with transactional="auto", the revisions directory in the jars directory has a name like "1.0.part". The corresponding directory in the ivys directory has a correct name like "1.0"
> The Ivy settings file is:
> <?xml version="1.0" encoding="UTF-8"?>
> <ivysettings>
> <property name="build.ivy.cache.dir" value="ivy/cache" override="false"/>
> <property name="build.ivy.repo.url" value="http://lonespappd0a.uk.db.com:8770/repo" override="false"/>
> <property name="build.ivy.resolver" value="url-resolve" override="false"/>
> <caches defaultCacheDir="${build.ivy.cache.dir}" defaultResolver="${build.ivy.resolver}" />
> <resolvers>
> <url name="url-resolve" latest="latest-revision">
> <ivy pattern="${build.ivy.repo.url}/[organisation]/[module]/ivys/[module]-[revision].xml" />
> <artifact pattern="${build.ivy.repo.url}/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]" />
> <artifact pattern="${build.ivy.repo.url}/[organisation]/[module]/[type]s/[artifact].[ext]" />
> <ivy pattern="${build.ivy.repo.url}/[organisation]/[module]/ivys/[revision]/[module]-[revision].xml" />
> <artifact pattern="${build.ivy.repo.url}/[organisation]/[module]/[type]s/[revision]/[artifact]-[revision].[ext]" />
> <artifact pattern="${build.ivy.repo.url}/[organisation]/[module]/[type]s/[revision]/[artifact].[ext]" />
> </url>
> <filesystem name="fs" latest="latest-revision">
> <ivy pattern="${build.local.ivy.repository}/[organisation]/[module]/ivys/[module]-[revision].xml" />
> <artifact pattern="${build.local.ivy.repository}/[organisation]/[module]/[type]s/[artifact]-[revision].[ext]" />
> <artifact pattern="${build.local.ivy.repository}/[organisation]/[module]/[type]s/[artifact].[ext]" />
> <ivy pattern="${build.local.ivy.repository}/[organisation]/[module]/ivys/[revision]/[module]-[revision].xml" />
> <artifact pattern="${build.local.ivy.repository}/[organisation]/[module]/[type]s/[revision]/[artifact]-[revision].[ext]" />
> <artifact pattern="${build.local.ivy.repository}/[organisation]/[module]/[type]s/[revision]/[artifact].[ext]" />
> </filesystem>
> <filesystem name="fs1" latest="latest-revision" transactional="false">
> <ivy pattern="${build.local.ivy.repository}/[organisation]/[module]/[type]s/[revision]/[module]-[revision].xml" />
> <artifact pattern="${build.local.ivy.repository}/[organisation]/[module]/[type]s/[revision]/[artifact]-[revision].[ext]" />
> </filesystem>
> </resolvers>
> <modules>
> <module organisation=".*" name=".*" resolver="${build.ivy.resolver}" />
> </modules>
> </ivysettings>
> The Ivy file is:
> <?xml version="1.0" encoding="UTF-8"?>
> <ivy-module version="1.3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">
> <info organisation="org" module="module" />
> <publications>
> <artifact name="xyz" type="jar"/>
> </publications>
> <dependencies>
> <dependency org="checkstyle" name="checkstyle" rev="latest.integration" />
> <dependency org="pmd" name="pmd" rev="latest.integration" />
> <dependency org="xxx" name="all" rev="latest.integration">
> <include name="yyyy"/>
> </dependency>
> <dependency org="xxx" name="j2ee" rev="latest.integration" />
> </dependencies>
> </ivy-module>
> The Ant target is like this:
> <target
> name="publish.to.ivy"
> depends="init.ivy"
> description="Publish the jar file to the Ivy repository">
> <echoproperties prefix="ivy"/>
> <property name="ivy.deliver.revision" value="${ivy.new.revision}"/>
> <ivy:publish
> resolver="fs1"
> status="integration"
> update="true">
> <artifacts pattern="${build.packages.dir}/[artifact].[ext]"/>
> </ivy:publish>
> </target>
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.