java - Hudson plug-in not publishing all artifacts to Artifactory -


i've got small java project setup build continuously through hudson server. i'd publish build artifacts artifactory server post-build step so, naturally, i'm using hudson-artifactory plug-in facilitate this. local publish appears work fine - publishes 2 artifacts (both .jar files) , resolved ivy.xml file expected. when request build on hudson server, however, 1 of 2 artifacts gets published.

the build creates following artifacts:

ftpsvc.jar ftpsvc-lib.jar 

my ivy.xml file looks this:

<?xml version="1.0" encoding="iso-8859-1"?> <ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"    xsi:nonamespaceschemalocation="http://ant.apache.org/ivy/schemas/ivy.xsd">      <info organisation="esf"           status="integration"           module="ftpsvc"           revision="snapshot" />      <publications>         <artifact name="ftpsvc" ext="jar"/>         <artifact name="ftpsvc-lib" ext="jar" type="lib" />     </publications>      <!--list dependencies of project-->     <dependencies>         <dependency org="commons-net" name="commons-net" rev="1.3.0" />     </dependencies> </ivy-module> 

the 2 artifacts called out in <publications> section. build target in build.xml file looks this:

<target name="publish_local" description="publish artifacts locally">     <echo>organisation: ${ivy.organisation}</echo>     <echo>module: ${ivy.module}</echo>     <echo>status: ${ivy.status}</echo>     <echo>revision: ${ivy.revision}</echo>     <echo>local dir: ${ivy.default.ivy.user.dir}</echo>      <ivy:publish         resolver="local"         update="true"         verwrite="true"         srcivypattern="${bundle.jar.dir}/ivy.xml"         artifactspattern="${bundle.jar.dir}/[artifact].[ext]" /> </target> 

the artifactspattern grabs defined artifacts build directory - nothing fancy going on here. lastly, resolver chain in ivysettings.xml file looks (server names changed protect innocent):

<resolvers>     <chain name="main">         <ibiblio name="main" m2compatible="true" root="http://my.server.employer.com:8080/artifactory/repo" />          <filesystem name="local">              <ivy pattern="${ivy.default.ivy.user.dir}/local/[organisation]/[module]/[revision]/ivy-[revision].xml" />             <artifact pattern="${ivy.default.ivy.user.dir}/local/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]" />          </filesystem>     </chain> </resolvers> 

it's rather routine stuff and, mentioned above, local publish works fine. here's peek @ console output when build through eclipse:

publish_local:      [echo] organisation: esf      [echo] module: ftpsvc      [echo] status: integration      [echo] revision: snapshot      [echo] local dir: c:\users\myusername\.ivy2 [ivy:publish] :: publishing :: esf#ftpsvc [ivy:publish]   published ftpsvc c:\users\myusername\.ivy2/local/esf/ftpsvc/snapshot/ftpsvc-snapshot.jar [ivy:publish]   published ftpsvc-lib c:\users\myusername\.ivy2/local/esf/ftpsvc/snapshot/ftpsvc-lib-snapshot.jar [ivy:publish]   published ivy c:\users\myusername\.ivy2/local/esf/ftpsvc/snapshot/ivy-snapshot.xml 

both .jar files , resolved ivy.xml file published expected. on hudson server, i've got artifactory configuration settings configured thusly (again, details have been changed obscure true superhero identity):

artifactory server: http://my.server.employer.com:8080/artifactory
target repository: target-repository
ivy pattern: [organisation]/[module]/[revision]ivy-[revision].xml
artifact pattern: "[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"

as can see, ivy , artifact patterns exactly same patterns in local resolver ivysettings.xml file. thus, when build run on hudson server, i'd expect exact same artifacts published artifactory server.

let's take @ console output latest build on hudson server:

publish_local:      [echo] organisation: esf      [echo] module: ftpsvc      [echo] status: integration      [echo] revision: snapshot      [echo] local dir: /usr/share/tomcat6/.ivy2 [ivy:publish] :: publishing :: esf#ftpsvc collecting module information module: ftpsvc module location: /usr/share/tomcat6/.hudson/jobs/ftpsvc-ivy/workspace/trunk/out/jars/ftpsvc.jar [ivy:publish]   published ftpsvc /usr/share/tomcat6/.ivy2/local/esf/ftpsvc/snapshot/ftpsvc-snapshot.jar collecting module information module: ftpsvc module location: /usr/share/tomcat6/.hudson/jobs/ftpsvc-ivy/workspace/trunk/out/jars/ftpsvc-lib.jar [ivy:publish]   published ftpsvc-lib /usr/share/tomcat6/.ivy2/local/esf/ftpsvc/snapshot/ftpsvc-lib-snapshot.jar collecting module information module: ftpsvc module location: /tmp/ivy2450884590736960955.xml [ivy:publish]   published ivy /usr/share/tomcat6/.ivy2/local/esf/ftpsvc/snapshot/ivy-snapshot.xml build finished triggered deploying artifact: http://my.server.employer.com:8080/artifactory/target-repository/esf/ftpsvc/snapshot/ftpsvc-snapshot.jar deploying artifact: http://my.server.employer.com:8080/artifactory/target-repository/esf/ftpsvc/snapshot/ftpsvc-snapshot.xml deploying build info to: http://my.server.employer.com.com:8080/artifactory/api/build 

dubya' tee eff!? once again, local publish appears work fine, publishing both jars , ivy.xml file local/esf/ftpsvc/snapshot/ directory on hudson server. artifactory plug-in, on other hand, gets totally wrong. not fail publish 1 of 2 jars, renames ivy.xml file incorrectly.

are there hudson/ivy/artifactory experts out there can shed light on what's going on here? i've got multiple projects exhibiting exact same behavior. , assistance in resolving problem appreciated.

hey, haven't used plugin, try removing dash name ftpsvc-lib and/or removing type="lib" artifact element, see happens.


Comments

Popular posts from this blog

python - Scipy curvefit RuntimeError:Optimal parameters not found: Number of calls to function has reached maxfev = 1000 -

c# - How to add a new treeview at the selected node? -

java - netbeans "Please wait - classpath scanning in progress..." -