@@ -234,6 +234,11 @@ ClassMethod LoadPackage(Path As %String, repository As %String = "", silent As %
234
234
RETURN package .%Save ()
235
235
}
236
236
237
+ ClassMethod GetPackageNameFromRepositoryURL (url As %String ) As %String
238
+ {
239
+ Return $PIECE (url , " /" , *-1 )
240
+ }
241
+
237
242
ClassMethod DownloadPackageFromGitHub (url As %String ) As %String
238
243
{
239
244
SET url = url _ " archive/master.tar.gz"
@@ -315,6 +320,7 @@ ClassMethod UpdatePackage(jo As %DynamicObject) As %Status
315
320
If $Extract (url , *)'=" /" {
316
321
Set url = url _ " /"
317
322
}
323
+ Set name = ..GetPackageNameFromRepositoryURL (url )
318
324
Set meta = ..GetModuleMeta (url )
319
325
If (meta .version = " " ) { $$$ThrowStatus($$$ERROR(5001 , " Invalid package version" )) }
320
326
If (meta .name = " " ) { $$$ThrowStatus($$$ERROR(5001 , " Package name is empty" )) }
@@ -325,13 +331,13 @@ ClassMethod UpdatePackage(jo As %DynamicObject) As %Status
325
331
If (..NameVersionExists (meta .name ,meta .version )) {
326
332
$$$ThrowStatus($$$ERROR(5001 , " Version " _meta .version _" of Package " _meta .name _" is already published" ))
327
333
}
328
- Set sc = ..Publish (url , meta . name )
334
+ Set sc = ..Publish (url , name )
329
335
}
330
336
} Else {
331
337
If (..RepositoryExists (url , .id )) {
332
338
$$$ThrowStatus($$$ERROR(5001 , " This repository was published under a different name" ))
333
339
} else {
334
- Set sc = ..Publish (url , meta . name )
340
+ Set sc = ..Publish (url , name )
335
341
}
336
342
}
337
343
} Catch ex {
@@ -358,8 +364,7 @@ ClassMethod LoadFromGitHub(Url = "")
358
364
If $e (Url , *)'=" /" {
359
365
Set Url = Url _ " /"
360
366
}
361
- Set meta = ..GetModuleMeta (Url )
362
- Set name = meta .name
367
+ Set name = ..GetPackageNameFromRepositoryURL (Url )
363
368
Set outputFolder = ..DownloadPackageFromGitHub (Url )
364
369
Set packageFolder = ##class (%File ).NormalizeDirectory (name _ " -master" , outputFolder )
365
370
Set tSC = ..LoadPackage (packageFolder , Url )
0 commit comments