Much obliged, Yoav! Thanks for all your help, and Fred's too.


Yoav Landman <yo...@jfrog.org> 
06/07/2011 05:08 PM
Please respond to
artifactory-users@lists.sourceforge.net


To
artifactory-users@lists.sourceforge.net
cc

Subject
Re: [Artifactory-users] Artifactory plugin for Gradle






The 'artifactoryPublish' task can be (roughly) seen as a superset of 
'uploadArchives':
(1) It can deploy artifacts to Artifactory, including ivy descriptors and 
poms (specified by explicit file path, or by behind-the-scene dependency 
on the default uploadArchives/install tasks)
(2) It can publish a build-info json metadata object that includes all 
traceable information about the build, which is accesible from the UI and 
REST API (some views require Pro)
(3) It can define Artifactory as the first point from 
which artifacts should be resolved
(4) Finally, Deployment via 'artifactoryPublish' is currently also more 
optimized, especially for very big artifacts

So, with the Artifactory plugin you want to use the 'artifactoryPublish' 
task for publishing. We will make the docs clearer about that.

Yoav

On Tue, Jun 7, 2011 at 6:47 PM, Andy Goodspeed <agoodsp...@cfglife.com> 
wrote:
Hi Fred. 

I am running: 

gradle uploadArchives 

So my task here should be artifactoryPublish? That does indeed seem to 
give me the sort of response I am expecting (Failed to deploy file: HTTP 
response code: 401. HTTP response message: Unauthorized). 

I guess I am missing a semantic difference. What does uploadArchives do 
relative to artifactoryPublish? 

... 
Upload tasks 
------------ 
uploadArchives - Uploads all artifacts belonging to configuration 
':archives'. 
... 
Other tasks 
----------- 
artifactoryPublish - Generates build info from build artifacts 
... 

Thanks! 




Frederic Simon <fr...@jfrog.org> 
06/07/2011 11:13 AM 


Please respond to
artifactory-users@lists.sourceforge.net


To
artifactory-users@lists.sourceforge.net 
cc

Subject
Re: [Artifactory-users] Artifactory plugin for Gradle








Hi, 

What gradle command are you running? 
By default artifactoryPublish publishes the "archives" configuration and 
all artifacts attached to it. 
One reason for what you are experiencing maybe: No jar were build and 
added to the configuration, artifactoryPublish will find and empty 
configuration and will not publish anything. 
What is strange is that with the default java plugin, uploadArchives 
depends on the jar task which should compile and add the default jar to 
the archives configuration! 

To solve the above you can do the following: 
1) Add another configurations that contains artifacts you want published:  

artifactory { 
  defaults { publishConfigs( 'otherConfigName' ) } 
} 
     
2) Force a dependency of the artifactoryPublish task to the task producing 
the artifacts: 
artifactoryPublish { 
  dependsOn myTaskProducingArtifacts 
} 

3) Alwsays run "gradle build artifactoryPublish" together. 

Hope this help, 
Fred. 

On Tue, Jun 7, 2011 at 2:39 PM, Andy Goodspeed <agoodsp...@cfglife.com> 
wrote: 
Thanks for the information, Yoav. I do not get those messages when I add 
"defaults{publishPom = false}" to the publish closure and also the task 
"uploadArchives{uploadDescriptor = true}", but it does not seem to do 
anything else either. 

There still does not seem to be anything getting published, nor an 
authentication error as I would expect due to the credentials I am 
providing. It just ends with: 

... 
:uploadArchives 

BUILD SUCCESSFUL 

What am I missing? 


Yoav Landman <yo...@jfrog.org> 
06/06/2011 06:36 PM 



Please respond to
artifactory-users@lists.sourceforge.net


To
artifactory-users@lists.sourceforge.net 
cc

Subject
Re: [Artifactory-users] Artifactory plugin for Gradle










As the error indicates, the project is configured to publish ivy and pom 
files (true, by default), but none are configured. 

You can turn off ivy and pom publishing in the 'defaults' section of the 
plugin DSL (publishPom=false and publishIvy=false); configure the specific 
location for the ivy file and pom file (ivyDescriptor= and 
mavenDescriptor=); or, set up ivy/pom publishing. 

For example to configure ivy uploading for the upload task configuration 
('archives' in this case), use: 

uploadArchives { 
  uploadDescriptor = true 
} 

You didn't apply the 'maven' plugin, so I assume you wish pom publishing 
to be off. 

HTH, 
Yoav 

On Mon, Jun 6, 2011 at 10:09 PM, Andy Goodspeed <agoodsp...@cfglife.com> 
wrote: 
I am trying to get my Gradle build to upload to Artifactory using the 
plugin. It doesn't seem to be working and I have no idea why. 

I gave up working on this with my live projects and am now working on a 
simple test project. It is a Java project with one class and one 
dependency (log4j). Everything works, including resolving the dependency 
and generating the jar, up to the upload. I have even tried using invalid 
credentials in hopes of eliciting an error of some sort. 

Below is my build.gradle. Why am I not getting gradletest.jar uploaded to 
lib-release-local in my Artifactory instance, an error, or something? Is 
it trying to give me a hint with: 

Cannot publish Ivy descriptor if ivyDescriptor not set in task 
':artifactoryPublish' 
And task 'uploadArchives' does not export the Ivy descriptor. 
Cannot publish Maven descriptor if mavenDescriptor not set in task 
':artifactoryPublish' 
And default install task for project ':' is not an Upload task 

Thanks. 

-Andrew Goodspeed 

"How *reliable* [is he]? How shallow is the ocean? How cold is the sun?" 
-Douglas Adams (Arthur Dent) 

--build.gradle-- 

apply plugin: 'java' 
apply plugin: 'artifactory' 

// Project root name cannot be set here, so check that settings.gradle (or 
whatever) has it set properly 
assert name == 'gradletest' 

// "group" equates to "organisation" 
group = 'com.me' 

artifactory { 
  contextUrl = 'http://artifactory.me.com/artifactory' 

  publish { 
    repository { 
      repoKey = 'libs-release-local' 
      username = 'hacker' 
      password = 'unauthorized' 
      ivy { 
        ivyLayout = 
'[organization]/[module]/[revision]/[type]s/ivy-[revision].xml' 
        artifactLayout = 
'[organization]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]' 

        mavenCompatible = false 
      } 
    } 
  } 

  resolve { 
    repository { 
      repoKey = 'libs-release' 
    } 
  } 
} 

dependencies { 
  compile group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.5.8' 
} 

sourceSets { 
  main { 
    java { 
      srcDir 'src' 
    } 
  } 
}

------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Artifactory-users mailing list
Artifactory-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/artifactory-users

Reply via email to