Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
titleDependencies Resolution
repositories {
	jcenter()
	maven {
		+url "http://repo.myorg.com/artifactory/libs-releases" // The Artifactory (preferably virtual) repository to resolve from
		credentials {				// Optional resolver credentials (leave out to use anonymous resolution)
			username = "resolver" // Artifactory user name
      		password = "resolverPaS*" // Password or API Key
		}
	}
 
	ivy {
		+url "http://localhost:8081/artifactory/ivy-releases"
		layout "pattern", {		// Optional section for configuring Ivy-style resolution.
    		ivy "[organization]/[module]/[revision]/ivy.xml"
        	artifact "[organization]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]"
        	m2compatible = true	// Convert any dots in an [organization] layout value to path separators, similar to Maven's groupId-to-path conversion. False if not specified.
    	}
	}
}

...

Code Block
titleArtifacts and BuildInfo Publication
artifactory {
  +contextUrl = 'http://repo.myorg.com/artifactory'   //The base Artifactory URL if not overridden by the publisher/resolver
  publish {
    contextUrl = 'http://repo.myorg.com/artifactory'   //The base Artifactory URL for the publisher
    //A closure defining publishing information
    repository {
      +repoKey = 'integration-libs'   //The Artifactory repository key to publish to
      +username = 'deployer'          //The publisher user name
      password = 'deployerPaS*'       //The publisher password or API key
      ivy {
        //Optional section for configuring Ivy publication. Assumes Maven repo layout if not specified
        ivyLayout = '[organization]/[module]/[revision]/[type]s/ivy-[revision].xml'
        artifactLayout = '[organization]/[module]/[revision]/[module]-[revision](-[classifier]).[ext]'
        mavenCompatible = true //Convert any dots in an [organization] layout value to path separators, similar to Maven's groupId-to-path conversion. True if not specified
      }
    }
    defaults {
		//List of Gradle Publications (names or objects) from which to collect the list of artifacts to be deployed to Artifactory.
        publications ('ivyJava','mavenJava','foo')
		////List of Gradle Configurations (names or objects) from which to collect the list of artifacts to be deployed to Artifactory. 
		publishConfigs('archives', 'published')                    
        properties = ['qa.level': 'basic', 'q.os': 'win32, deb, osx']  //Optional map of properties to attach to all published artifacts
        /*
        The properties closure in the "defaults" task uses the following syntax:
        properties {
            publicationName 'group:module:version:classifier@type', key1:'value1', key2:'value2', ...
        }
        publicationName: A valid name for a publication of the project. You can use all to apply the properties to all publications.
        group:module:version:classifier@type: A filter that specifies the artifacts to which properties should be attached. 
		The filter may contain wildcards: * for all characters or ? for a single character.
        key:'value': A list of key/value properties that will be attached to to the published artifacts matching the filter.  
        */
        properties {                                                   //Optional closure to attach properties to artifacts based on a list of artifact patterns per project publication
            foo '*:*:*:*@*', platform: 'linux', 'win64'                //The property platform=linux,win64 will be set on all artifacts in foo publication
            mavenJava 'org.jfrog:*:*:*@*', key1: 'val1'                //The property key1=val1 will be set on all artifacts part of the mavenJava publication and with group org.jfrog
            all 'org.jfrog:shared:1.?:*@*', key2: 'val2', key3: 'val3' //The properties key2 and key3 will be set on all published artifacts (all publications) with group:artifact:version 
																	   //equal to org.jfrog:shared:1.?
        }
        publishBuildInfo = true   //Publish build-info to Artifactory (true by default)
        publishArtifacts = true   //Publish artifacts to Artifactory (true by default)
        publishPom = true   //Publish generated POM files to Artifactory (true by default).
        publishIvy = true   //Publish generated Ivy descriptor files to Artifactory (true by default).
		publishForkCount = 8 //Number of threads to use for artifacts publishing (8 by default). Supported since version 4.10.0. 
    }
  }
  // Redefine basic properties of the build info object
  clientConfig.setIncludeEnvVars(true)
  clientConfig.setEnvVarsExcludePatterns('*password*,*secret*')
  clientConfig.setEnvVarsIncludePatterns('*not-secret*')
  clientConfig.info.addEnvironmentProperty('test.adding.dynVar',new java.util.Date().toString())
  clientConfig.info.setBuildName('new-strange-name')
  clientConfig.info.setBuildNumber('' + new java.util.Random(System.currentTimeMillis()).nextInt(20000))
  clientConfig.timeout = 600 // Artifactory connection timeout (in seconds). The default timeout is 300 seconds.
}

...

Project examples which use the Gradle Artifactory Plugin are available

Newtablink
Texthere
URLhttps://github.com/JFrog/project-examples/tree/master/gradle-examples
.