RegressionTests__MakefileTests.st
author Claus Gittinger <cg@exept.de>
Wed, 29 Jun 2016 15:55:29 +0200
changeset 1447 2351db93aa5b
parent 1148 341a95374920
child 1500 d406a10b2965
child 1554 3265c6f1c242
permissions -rw-r--r--
package changes
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
     1
"{ Package: 'stx:goodies/regression' }"
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: RegressionTests }"
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
TestCase subclass:#MakefileTests
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:'package packageDir'
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'tests-Regression'
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
StandaloneStartup subclass:#TestApplication01
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
	instanceVariableNames:''
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
	classVariableNames:''
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
	poolDictionaries:''
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
	privateIn:MakefileTests
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
!
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
!MakefileTests class methodsFor:'documentation'!
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
documentation
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
"
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
    23
    This testcase tests St/X makefiles used to build
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
    standalone applications.
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    [author:]
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
    27
	Jan Vrany <jan.vrany@fit.cvut.cz>
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
    [instance variables:]
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
    [class variables:]
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
    [see also:]
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
"
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
! !
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
!MakefileTests methodsFor:'compilation'!
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
make
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
    ^ self make:''.
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
    "Created: / 14-08-2013 / 18:27:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
!
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
make: target
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
    | cmd |
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
    49
    cmd := OperatingSystem isMSWINDOWSlike
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
    50
	    ifTrue:['bmake.bat ', target]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
    51
	    ifFalse:['make -f Makefile.init ', target].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
    52
    self
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
    53
	assert: (OperatingSystem executeCommand: cmd inDirectory: packageDir)
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
    54
	description: 'Failed to make target ''', target, ''' in test package'.
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
    "Created: / 14-08-2013 / 18:26:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
    "Modified: / 19-11-2013 / 18:49:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
! !
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
!MakefileTests methodsFor:'running'!
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
setUp
1021
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    63
    self setUpForPackage:'tmp:makefiletests'.
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    64
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    65
    "Created: / 19-11-2013 / 12:57:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    66
    "Modified: / 24-11-2013 / 22:23:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    67
!
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    68
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    69
setUpForPackage: pkg
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    70
    | components |
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    71
    package := pkg.
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    72
    packageDir := (Smalltalk getPackageDirectoryForPackage: Object package) directory directory.
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    73
    components := (package copyReplaceAll: $: with:$/) tokensBasedOn: $/.
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    74
    components do:[:each |
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
    75
	packageDir := packageDir / each.
1021
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    76
    ].
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
    packageDir exists ifTrue:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
    78
	packageDir recursiveRemove.
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
    ].
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
    packageDir recursiveMakeDirectory
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
1021
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    82
    "Created: / 24-11-2013 / 22:23:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
! !
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
!MakefileTests methodsFor:'tests'!
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
test_application_01
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
    self run:#'test_application_01' type:ProjectDefinition nonGuiApplicationType toolchain:nil
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
    "Created: / 19-11-2013 / 14:05:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1021
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    92
!
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    93
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    94
test_application_02
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    95
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    96
    self setUpForPackage: 'tmp:makefiletests2/test_application_02'.
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    97
    self run:#'test_application_01' type:ProjectDefinition nonGuiApplicationType toolchain:nil
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    98
19269c8a3ba6 class: RegressionTests::MakefileTests
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1008
diff changeset
    99
    "Created: / 24-11-2013 / 22:23:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
! !
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
!MakefileTests methodsFor:'tests-helpers'!
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   104
run:packageIdent type:packageType toolchain:toolchain
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
    | packageDef  startup |
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
    "/ Compile all classes...
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
    Class packageQuerySignal answer:package do:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   109
	(self class privateClasses select:[:cls | cls packageIdent = packageIdent ]) do:[:cls |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   110
		| copy |
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   112
		copy := cls superclass
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   113
			subclass: cls nameWithoutPrefix
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   114
			instanceVariableNames:(cls instVarNames asStringWith:' ')
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   115
			classVariableNames:(cls classVarNames asStringWith:' ')
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   116
			poolDictionaries:cls poolDictionaries
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   117
			category:'** tmp **'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   118
		cls methodDictionary do:[:each |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   119
		    copy compile:each source classified:each category.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   120
		].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   121
		cls class methodDictionary do:[:each |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   122
		    copy class compile:each source classified:each category.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   123
		].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   124
		(copy inheritsFrom:StandaloneStartup) ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   125
		    startup := copy.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   126
		].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   127
	    ].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   128
	].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   129
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   130
    "/ Create project definition class.
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   131
    Class packageQuerySignal answer:package do:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   132
	packageDef := ProjectDefinition
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   133
		definitionClassForPackage:package
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   134
		projectType:packageType
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   135
		createIfAbsent:true.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   136
	packageDef theNonMetaclass
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   137
	    forEachContentsMethodsCodeToCompileDo:[:code :category | packageDef theMetaclass compile:code classified:category ]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   138
	    "/ignoreOldEntries: false
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   139
	    ignoreOldDefinition: false.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   140
	packageDef isApplicationDefinition ifTrue:[
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   141
	    packageDef class compile:'startupClassName ^ ' , startup fullName storeString.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   142
	].
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   143
    ].
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   144
    "/ Fileout to package directory...
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   145
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   146
    packageDef classes do:[:class |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   147
	| container |
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   148
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   149
	container := (class fullName copyReplaceAll:$: with:$_) , '.st'.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   150
	(packageDir / container)
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   151
	    writingFileDo:[:f |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   152
		AbstractSourceCodeManager
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   153
		    fileOutSourceCodeOf:class
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   154
		    on:f
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   155
		    withTimeStamp:false
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   156
		    withInitialize:true
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   157
		    withDefinition:true
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   158
		    methodFilter:[:mth | mth package = package ]
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   159
	    ]
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
    ].
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   161
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
    "/ Generate build support files...
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   163
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   164
    packageDef fileNamesToGenerate keys do:[:filename |
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   165
	| file |
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   166
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   167
	file := (packageDir / filename).
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   168
	file directory recursiveMakeDirectory.
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   169
	file writingFileDo:[:f | f nextPutAll:(packageDef generateFile:filename) ].
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
    ].
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
    self make.
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   173
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   174
    "Created: / 19-11-2013 / 14:07:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1148
341a95374920 Fix in copyReplaceAll:wiith:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 1021
diff changeset
   175
    "Modified: / 24-06-2014 / 17:47:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   176
! !
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   177
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   178
!MakefileTests::TestApplication01 class methodsFor:'accessing'!
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   179
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   180
packageIdent
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   181
    ^ #test_application_01
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   182
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   183
    "Created: / 19-11-2013 / 14:04:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   184
! !
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   185
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   186
!MakefileTests::TestApplication01 class methodsFor:'startup-to be redefined'!
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   187
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   188
main:args
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   189
    args isEmpty ifTrue:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   190
	Smalltalk exit: 0.
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   191
    ].
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   192
    args size ~~ 1 ifTrue:[
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   193
	Smalltalk exit: 127.
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   194
    ].
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   195
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   196
    [
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   197
	Smalltalk exit: args first asInteger.
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   198
    ] on: Error do:[:ex|
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 1148
diff changeset
   199
	Smalltalk exit: 126.
1008
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   200
    ].
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   201
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   202
    "Created: / 19-11-2013 / 13:12:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   203
! !
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   204
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   205
!MakefileTests class methodsFor:'documentation'!
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   206
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   207
version
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   208
    ^ '$Header$'
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   209
!
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   210
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
version_CVS
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
    ^ '$Header$'
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
! !
37bb72c774c2 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214