17
17
18
18
import static com .redhat .red .build .koji .model .json .KojiJsonConstants .BUILD_SYSTEM ;
19
19
import static com .redhat .red .build .koji .model .json .KojiJsonConstants .EXTERNAL_BUILD_ID ;
20
+ import static com .redhat .red .build .koji .model .xmlrpc .KojiBtype .maven ;
21
+ import static com .redhat .red .build .koji .model .xmlrpc .KojiBtype .npm ;
20
22
import static org .apache .commons .lang3 .ArrayUtils .EMPTY_STRING_ARRAY ;
21
23
import static org .jboss .pnc .api .constants .Attributes .BREW_TAG_PREFIX ;
22
24
import static org .jboss .pnc .api .constants .Attributes .BUILD_BREW_NAME ;
40
42
import org .jboss .pnc .dto .ArtifactRef ;
41
43
import org .jboss .pnc .dto .Build ;
42
44
import org .jboss .pnc .enums .BuildType ;
43
- import org .slf4j .Logger ;
44
- import org .slf4j .LoggerFactory ;
45
45
46
46
import com .redhat .red .build .koji .model .xmlrpc .KojiArchiveInfo ;
47
+ import com .redhat .red .build .koji .model .xmlrpc .KojiBtype ;
47
48
import com .redhat .red .build .koji .model .xmlrpc .KojiBuildInfo ;
48
49
import com .redhat .red .build .koji .model .xmlrpc .KojiBuildState ;
49
50
import com .redhat .red .build .koji .model .xmlrpc .KojiChecksumType ;
52
53
import com .redhat .red .build .koji .model .xmlrpc .KojiTaskRequest ;
53
54
54
55
public final class PncUtils {
55
- private static final Logger LOGGER = LoggerFactory .getLogger (PncUtils .class );
56
-
57
56
public static final String EXTERNAL_ARCHIVE_ID = "external_archive_id" ;
58
57
59
58
public static final String EXTERNAL_BREW_BUILD_ID = "external_brew_build_id" ;
@@ -68,6 +67,8 @@ public final class PncUtils {
68
67
69
68
public static final String EXTERNAL_VERSION_ID = "external_version_id" ;
70
69
70
+ public static final String EXTERNAL_BUILD_TYPE = "external_build_type" ;
71
+
71
72
public static final String GRADLE = "gradle" ;
72
73
73
74
public static final String MAVEN = "maven" ;
@@ -201,8 +202,6 @@ public static KojiBuild pncBuildToKojiBuild(PncBuild pncBuild) {
201
202
KojiBuild kojiBuild = new KojiBuild ();
202
203
Build build = pncBuild .getBuild ();
203
204
204
- setKojiBuildType (pncBuild , kojiBuild );
205
-
206
205
KojiBuildInfo buildInfo = new KojiBuildInfo ();
207
206
setMavenBuildInfoFromBuildRecord (pncBuild , buildInfo );
208
207
@@ -227,7 +226,7 @@ public static KojiBuild pncBuildToKojiBuild(PncBuild pncBuild) {
227
226
+ build .getScmRepository ().getInternalUrl ()
228
227
+ (build .getScmRevision () != null ? "#" + build .getScmRevision () : "" ));
229
228
230
- Map <String , Object > extra = new HashMap <>(8 , 1.0f );
229
+ Map <String , Object > extra = new HashMap <>(9 , 1.0f );
231
230
232
231
extra .put (BUILD_SYSTEM , PNC );
233
232
extra .put (EXTERNAL_BUILD_ID , build .getId ());
@@ -275,32 +274,45 @@ public static KojiBuild pncBuildToKojiBuild(PncBuild pncBuild) {
275
274
kojiBuild .setTaskRequest (taskRequest );
276
275
});
277
276
277
+ addPncBuildTypeToExtra (pncBuild .getBuild ().getBuildConfigRevision ().getBuildType (), extra );
278
278
buildInfo .setExtra (extra );
279
+ buildInfo .setTypeNames (List .of (getBuildType (pncBuild )));
279
280
280
281
kojiBuild .setBuildInfo (buildInfo );
281
282
282
283
return kojiBuild ;
283
284
}
284
285
285
- private static void setKojiBuildType ( PncBuild pncBuild , KojiBuild kojiBuild ) {
286
- switch (pncBuild . getBuild (). getBuildConfigRevision (). getBuildType () ) {
286
+ private static void addPncBuildTypeToExtra ( BuildType buildType , Map < String , Object > extra ) {
287
+ switch (buildType ) {
287
288
case NPM :
288
- kojiBuild . setTypes ( Collections . singletonList ( NPM ) );
289
+ extra . put ( EXTERNAL_BUILD_TYPE , NPM );
289
290
break ;
290
291
case GRADLE :
291
- kojiBuild . setTypes ( Collections . singletonList ( GRADLE ) );
292
+ extra . put ( EXTERNAL_BUILD_TYPE , GRADLE );
292
293
break ;
293
294
case SBT :
294
- kojiBuild . setTypes ( Collections . singletonList ( SBT ) );
295
+ extra . put ( EXTERNAL_BUILD_TYPE , SBT );
295
296
break ;
296
297
case MVN :
298
+ extra .put (EXTERNAL_BUILD_TYPE , MAVEN );
299
+ break ;
297
300
default :
298
- kojiBuild . setTypes ( Collections . singletonList ( MAVEN ) );
301
+ extra . put ( EXTERNAL_BUILD_TYPE , UNKNOWN );
299
302
}
300
303
}
301
304
302
- public static KojiArchiveInfo artifactToKojiArchiveInfo (PncBuild pncbuild , ArtifactRef artifact ) {
303
- Build build = pncbuild .getBuild ();
305
+ private static KojiBtype getBuildType (PncBuild pncBuild ) {
306
+ BuildType buildType = pncBuild .getBuild ().getBuildConfigRevision ().getBuildType ();
307
+
308
+ return switch (buildType ) {
309
+ case MVN , GRADLE , SBT -> maven ;
310
+ case NPM -> npm ;
311
+ };
312
+ }
313
+
314
+ public static KojiArchiveInfo artifactToKojiArchiveInfo (PncBuild pncBuild , ArtifactRef artifact ) {
315
+ Build build = pncBuild .getBuild ();
304
316
KojiArchiveInfo archiveInfo = new KojiArchiveInfo ();
305
317
306
318
try {
@@ -315,14 +327,17 @@ public static KojiArchiveInfo artifactToKojiArchiveInfo(PncBuild pncbuild, Artif
315
327
archiveInfo .setArchiveId (-1 );
316
328
}
317
329
318
- Map <String , Object > extra = new HashMap <>(2 , 1.0f );
330
+ Map <String , Object > extra = new HashMap <>(3 , 1.0f );
319
331
extra .put (EXTERNAL_BUILD_ID , build .getId ());
320
332
extra .put (EXTERNAL_ARCHIVE_ID , artifact .getId ());
333
+ BuildType buildType = pncBuild .getBuild ().getBuildConfigRevision ().getBuildType ();
334
+ addPncBuildTypeToExtra (buildType , extra );
321
335
archiveInfo .setExtra (extra );
336
+
322
337
archiveInfo .setArch ("noarch" );
323
338
archiveInfo .setFilename (artifact .getFilename ());
324
339
325
- archiveInfo .setBuildType (getBuildType (pncbuild ));
340
+ archiveInfo .setBuildType (getBuildType (pncBuild ));
326
341
archiveInfo .setChecksumType (KojiChecksumType .md5 );
327
342
archiveInfo .setChecksum (artifact .getMd5 ());
328
343
@@ -332,7 +347,7 @@ public static KojiArchiveInfo artifactToKojiArchiveInfo(PncBuild pncbuild, Artif
332
347
archiveInfo .setSize (-1 );
333
348
}
334
349
335
- switch (pncbuild . getBuild (). getBuildConfigRevision (). getBuildType () ) {
350
+ switch (buildType ) {
336
351
case NPM :
337
352
// How do we set ArtifactInfo for NPM builds?
338
353
break ;
@@ -354,17 +369,6 @@ public static KojiArchiveInfo artifactToKojiArchiveInfo(PncBuild pncbuild, Artif
354
369
return archiveInfo ;
355
370
}
356
371
357
- private static String getBuildType (PncBuild pncBuild ) {
358
- BuildType buildType = pncBuild .getBuild ().getBuildConfigRevision ().getBuildType ();
359
-
360
- return switch (buildType ) {
361
- case MVN -> MAVEN ;
362
- case GRADLE -> GRADLE ;
363
- case NPM -> NPM ;
364
- case SBT -> SBT ;
365
- };
366
- }
367
-
368
372
public static void fixNullVersion (KojiBuild kojibuild , KojiArchiveInfo archiveInfo ) {
369
373
KojiBuildInfo buildInfo = kojibuild .getBuildInfo ();
370
374
String buildVersion = buildInfo .getVersion ();
0 commit comments