@@ -3,6 +3,9 @@ package org.jfrog.build
3
3
import org.gradle.api.Project
4
4
import org.gradle.api.Task
5
5
import org.gradle.api.plugins.JavaPlugin
6
+ import org.gradle.api.publish.PublishingExtension
7
+ import org.gradle.api.publish.ivy.plugins.IvyPublishPlugin
8
+ import org.gradle.api.publish.maven.plugins.MavenPublishPlugin
6
9
import org.gradle.testfixtures.ProjectBuilder
7
10
import org.jfrog.build.client.ArtifactSpec
8
11
import org.jfrog.build.client.ClientConfigurationFields
@@ -27,6 +30,56 @@ public class ArtifactoryPublicationsPluginTest extends PluginTestBase {
27
30
new ArtifactoryPublicationsPlugin ()
28
31
}
29
32
33
+ def populatePublicationFromDsl () {
34
+ // Make sure no system props are set
35
+ def propFileEnv = System . getenv(PROP_PROPS_FILE )
36
+ if (propFileEnv != null && propFileEnv. length() > 0 ) {
37
+ throw new RuntimeException (" Cannot run test if environment variable " + PROP_PROPS_FILE + " is set" )
38
+ }
39
+ if (System . getProperty(PROP_PROPS_FILE )) {
40
+ System . clearProperty(PROP_PROPS_FILE )
41
+ }
42
+ URL resource = getClass(). getResource(' /org/jfrog/build/publishPluginDslTest/build.gradle' )
43
+ def projDir = new File (resource. toURI()). getParentFile()
44
+
45
+ Project project = ProjectBuilder . builder(). withProjectDir(projDir). build()
46
+ project. setProperty(' testUserName' , ' user1' )
47
+ project. setProperty(' testPassword' , ' p33p' )
48
+ project. setProperty(' ppom' , false )
49
+
50
+ // Set artifact specs
51
+ project. setProperty(ClientProperties . PROP_PUBLISH_PREFIX + ClientConfigurationFields . ARTIFACT_SPECS ,
52
+ ' archives com.jfrog:*:*:doc@* key1: val1, key2: val2\n ' +
53
+ ' archives com.jfrog:*:*:src@* key3: val 3' )
54
+
55
+ project. plugins. apply(JavaPlugin )
56
+ project. plugins. apply(IvyPublishPlugin )
57
+ project. plugins. apply(MavenPublishPlugin )
58
+ project. plugins. apply(ArtifactoryPublicationsPlugin )
59
+
60
+ BuildInfoPublicationsTask buildInfoTask = project. tasks. findByName(BUILD_INFO_TASK_NAME )
61
+ def clientConfig = ArtifactoryPluginUtil . getArtifactoryConvention(project). getClientConfig()
62
+ project. evaluate()
63
+ projectEvaluated(project)
64
+
65
+ expect :
66
+ buildInfoTask. hasPublications()
67
+ ' [ext]user1' == clientConfig. publisher. username
68
+ ' p33p' == clientConfig. publisher. password
69
+ ! clientConfig. resolver. maven
70
+ buildInfoTask. ivyPublications. size() == 1
71
+ buildInfoTask. mavenPublications. size() == 1
72
+ buildInfoTask. ivyPublications. iterator(). next(). name == ' ivyJava'
73
+ buildInfoTask. mavenPublications. iterator(). next(). name == ' mavenJava'
74
+ buildInfoTask. artifactSpecs[0 ]. group == ' com.jfrog'
75
+ buildInfoTask. artifactSpecs[0 ]. classifier == ' doc'
76
+ buildInfoTask. artifactSpecs[1 ]. group == ' com.jfrog'
77
+ buildInfoTask. artifactSpecs[1 ]. classifier == ' src'
78
+ buildInfoTask. artifactSpecs[1 ]. properties[' key3' ] == ' val 3'
79
+ buildInfoTask. artifactSpecs[2 ]. group == ' org.jfrog'
80
+ buildInfoTask. artifactSpecs[2 ]. classifier == ArtifactSpec . WILDCARD
81
+ }
82
+
30
83
/*
31
84
def buildInfoTaskConfiguration() {
32
85
Project project = ProjectBuilder.builder().build()
@@ -68,54 +121,5 @@ public class ArtifactoryPublicationsPluginTest extends PluginTestBase {
68
121
buildInfoTask.dependsOn.size() == 2
69
122
}
70
123
71
- def populateConfigurationFromDsl() {
72
- // Make sure no system props are set
73
- def propFileEnv = System.getenv(PROP_PROPS_FILE)
74
- if (propFileEnv != null && propFileEnv.length() > 0) {
75
- throw new RuntimeException("Cannot run test if environment variable " + PROP_PROPS_FILE + " is set")
76
- }
77
- if (System.getProperty(PROP_PROPS_FILE)) {
78
- System.clearProperty(PROP_PROPS_FILE)
79
- }
80
- URL resource = getClass().getResource('/org/jfrog/build/build.gradle')
81
- def projDir = new File(resource.toURI()).getParentFile()
82
-
83
- Project project = ProjectBuilder.builder().withProjectDir(projDir).build()
84
- project.setProperty('testUserName', 'user1')
85
- project.setProperty('testPassword', 'p33p')
86
- project.setProperty('ppom', false)
87
-
88
- //Set artifact specs
89
- project.setProperty(ClientProperties.PROP_PUBLISH_PREFIX + ClientConfigurationFields.ARTIFACT_SPECS,
90
- 'archives com.jfrog:*:*:doc@* key1: val1, key2: val2\n' +
91
- 'archives com.jfrog:*:*:src@* key3: val 3')
92
-
93
- JavaPlugin javaPlugin = new JavaPlugin()
94
- ArtifactoryPluginBase artifactoryPlugin = createPlugin()
95
-
96
- //project.setProperty(ClientProperties.PROP_PUBLISH_PREFIX + ClientConfigurationFields.MAVEN, 'true')
97
- javaPlugin.apply(project)
98
- artifactoryPlugin.apply(project)
99
-
100
- BuildInfoPublicationsTask buildInfoTask = project.tasks.findByName(BUILD_INFO_TASK_NAME)
101
- def clientConfig = ArtifactoryPluginUtil.getArtifactoryConvention(project).getClientConfig()
102
- project.evaluate()
103
- projectEvaluated(project)
104
-
105
- expect:
106
- !buildInfoTask.publishConfigurations.isEmpty()
107
- '[ext]user1' == clientConfig.publisher.username
108
- 'p33p' == clientConfig.publisher.password
109
- !clientConfig.resolver.maven
110
- //Cannot call clientConfig.publisher.isMaven() since it is only assigned at task execution
111
- !buildInfoTask.getPublishPom()
112
- buildInfoTask.artifactSpecs[0].group == 'com.jfrog'
113
- buildInfoTask.artifactSpecs[0].classifier == 'doc'
114
- buildInfoTask.artifactSpecs[1].group == 'com.jfrog'
115
- buildInfoTask.artifactSpecs[1].classifier == 'src'
116
- buildInfoTask.artifactSpecs[1].properties['key3'] == 'val 3'
117
- buildInfoTask.artifactSpecs[2].group == 'org.jfrog'
118
- buildInfoTask.artifactSpecs[2].classifier == ArtifactSpec.WILDCARD
119
- }
120
124
*/
121
125
}
0 commit comments