Skip to content

Commit 9ba7573

Browse files
authored
Merge pull request doublefint#17 from evshvarov/master
added cubes export
2 parents 91775e9 + e572da7 commit 9ba7573

File tree

8 files changed

+43
-8
lines changed

8 files changed

+43
-8
lines changed

Dockerfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ ARG IMAGE=store/intersystems/irishealth:2019.3.0.308.0-community
22
ARG IMAGE=store/intersystems/iris-community:2019.3.0.309.0
33
ARG IMAGE=store/intersystems/iris-community:2019.4.0.379.0
44
ARG IMAGE=store/intersystems/iris-community:2020.1.0.199.0
5-
# ARG IMAGE=intersystemsdc/iris-community:2019.4.0.383.0-zpm
6-
ARG IMAGE=intersystemsdc/iris-community:2020.4.0.524.0-zpm
5+
ARG IMAGE=intersystemsdc/iris-community
76
FROM $IMAGE
87

98
USER root

module.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<Document name="isc-dev.ZPM">
44
<Module>
55
<Name>isc-dev</Name>
6-
<Version>1.4.1</Version>
6+
<Version>1.4.2</Version>
77
<Description>Export/Import InterSystems Data Platform development artefacts</Description>
88
<SourcesRoot>src</SourcesRoot>
99
<Packaging>module</Packaging>
File renamed without changes.

src/cls/dev/code.cls renamed to src/dev/code.cls

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
/// Export different types of modules in different subfolders in UDL (plain) format
22
/// test.dfi -> /dfi/test.dfi
3-
/// testpkg.test.cls -> /cls/testpkg/test.cls
3+
/// testpkg.test.cls -> /testpkg/test.cls
44
Class dev.code [ Abstract ]
55
{
66

7-
Parameter version = "1.2.0";
7+
Parameter version = "1.4.0";
88

99
/// export all available code
1010
ClassMethod export(mask = "", generated = 0, system = 0, percent = 0, mapped = 0, dfi = 0)
@@ -98,12 +98,49 @@ ClassMethod export(mask = "", generated = 0, system = 0, percent = 0, mapped = 0
9898
set rs=""
9999

100100
#;DeepSee artefacts
101+
do ..exportCubes()
101102
do ..exportDeepSeeArtefacts()
102103
write !,!, "#; Exported to ", ..workdir()
103104

104105
return $$$OK
105106
}
106107

108+
/// Export Cube Classes
109+
ClassMethod exportCubes() As %Status
110+
{
111+
#define export(%code, %file) set sc = $system.OBJ.ExportUDL(%code, %file,"/diffexport") ##continue
112+
write:sc "Ok" do:'sc $system.OBJ.DisplayError(sc)
113+
#define isMapped(%code) ##class(%RoutineMgr).IsMapped( %code )
114+
#define isPercented(%code) ("%" = $e(%code))
115+
#define isCube(%code) $classmethod(%code,"%Extends","%DeepSee.CubeDefinition")
116+
117+
#define log write !, code, " -> ", $piece(filename,..workdir(),2), " "
118+
119+
Set sc = $$$OK
120+
#; classes
121+
set rs = ##class(%ResultSet).%New("%Dictionary.ClassDefinition:Summary")
122+
if rs.Execute()
123+
{
124+
while rs.%Next()
125+
{
126+
set code = rs.Name _ ".cls", isSystem = rs.System
127+
if isSystem continue
128+
if $$$isPercented( code ) continue
129+
if $$$isMapped( code ) continue
130+
131+
if '($classmethod(rs.Name,"%Extends","%DeepSee.CubeDefinition")) continue
132+
set filename = ..filename( code )
133+
do ..mkdir( filename )
134+
$$$log
135+
$$$export( code, filename )
136+
}
137+
set rs=""
138+
}
139+
140+
141+
Return sc
142+
}
143+
107144
/// import all from workdir
108145
ClassMethod import(filemask = "*.xml;*.cls;*.mac;*.int;*.inc;*.dfi", qspec = "cku-d", ByRef err = "", recurse = 1, ByRef loaded = "", verbose = 1) As %Status
109146
{
@@ -382,8 +419,8 @@ ClassMethod filename(code)
382419

383420
set ext = $p( code, ".", * ), ext = $zcvt( ext, "l" )
384421
#; for each type - different directory
385-
386-
set:ext'="" wd = ##class(%File).NormalizeDirectory( ext, wd )
422+
#; except cls,int,inc,mac
423+
if ext'="cls",ext'="mac",ext'="int",ext'="inc",ext'="" set wd = ##class(%File).NormalizeDirectory( ext, wd )
387424

388425
#; directory must exist before any call (%File).NormalizeFilename( , wd)
389426
if '##class(%File).DirectoryExists( wd )
@@ -560,4 +597,3 @@ ClassMethod checkMasks(name As %String, masks As %String) As %Boolean
560597
}
561598

562599
}
563-
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)