ooxml

Check-in [424958a4c5]
Login

Check-in [424958a4c5]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:revised mkversion.tcl, ::ooxml::build-info and manifest.txt
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | build_info_tip599
Files: files | file ages | folders
SHA3-256: 424958a4c55061809e49ef37fb56b4f7569677f87b02b07b2e9f39d95ed25b9f
User & Date: alex 2024-04-18 10:36:46
Context
2024-04-18
10:39
merged from [build_info_tip599] check-in: ed6641de9d user: alex tags: trunk
10:36
revised mkversion.tcl, ::ooxml::build-info and manifest.txt Closed-Leaf check-in: 424958a4c5 user: alex tags: build_info_tip599
2024-04-17
15:22
merged from [build_info_tip599] check-in: 54e2259a32 user: alex tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to .fossil-settings/ignore-glob.

1
2
3
4
5
6
7
8

autom4te.cache
config.log
config.status
configure~
Makefile
pkgIndex.tcl
uv
build-info.tcl









>
1
2
3
4
5
6
7
8
9
autom4te.cache
config.log
config.status
configure~
Makefile
pkgIndex.tcl
uv
build-info.tcl
manifest.txt

Changes to Makefile.in.

29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55

PACKAGE_NAME	= @PACKAGE_NAME@
PACKAGE_VERSION	= @PACKAGE_VERSION@
CYGPATH		= @CYGPATH@

TCLSH_PROG	= @TCLSH_PROG@

PKG_TCL_SOURCES	= @PKG_TCL_SOURCES@ build-info.tcl

CONFIG_CLEAN_FILES = Makefile pkgIndex.tcl build-info.tcl
CLEANFILES	= @CLEANFILES@

#========================================================================
# Start of user-definable TARGETS section
#========================================================================

build-info.tcl: manifest manifest.uuid tools/mkversion.tcl
	$(TCLSH_PROG) tools/mkversion.tcl @PACKAGE_NAME@ > $@

all: build-info.tcl

install: all
	$(TCLSH_PROG) `@CYGPATH@ $(srcdir)/helper.tcl` cp $(PKG_TCL_SOURCES) pkgIndex.tcl $(pkglibdir)

test:
	$(TCLSH_PROG) `@CYGPATH@ $(srcdir)/tests/all.tcl` $(TESTFLAGS) \
	  -load "package ifneeded ${PACKAGE_NAME} ${PACKAGE_VERSION} [list source [file join `@CYGPATH@ $(srcdir)` $(PACKAGE_NAME).tcl]]"







|

|






|


|







29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55

PACKAGE_NAME	= @PACKAGE_NAME@
PACKAGE_VERSION	= @PACKAGE_VERSION@
CYGPATH		= @CYGPATH@

TCLSH_PROG	= @TCLSH_PROG@

PKG_TCL_SOURCES	= @PKG_TCL_SOURCES@ manifest.txt

CONFIG_CLEAN_FILES = Makefile pkgIndex.tcl manifest.txt
CLEANFILES	= @CLEANFILES@

#========================================================================
# Start of user-definable TARGETS section
#========================================================================

manifest.txt: manifest manifest.uuid tools/mkversion.tcl
	$(TCLSH_PROG) tools/mkversion.tcl @PACKAGE_NAME@ > $@

all: manifest.txt

install: all
	$(TCLSH_PROG) `@CYGPATH@ $(srcdir)/helper.tcl` cp $(PKG_TCL_SOURCES) pkgIndex.tcl $(pkglibdir)

test:
	$(TCLSH_PROG) `@CYGPATH@ $(srcdir)/tests/all.tcl` $(TESTFLAGS) \
	  -load "package ifneeded ${PACKAGE_NAME} ${PACKAGE_VERSION} [list source [file join `@CYGPATH@ $(srcdir)` $(PACKAGE_NAME).tcl]]"

Changes to ooxml.tcl.

191
192
193
194
195
196
197

198
199
200
201
202
203
204
  variable predefNumFmts
  variable predefColors
  variable predefColorsName
  variable predefColorsARBG
  variable predefBorderLineStyles
  variable predefPatternType
  variable xmlns


  set defaults(path) {.}

  set defaults(numFmts,start) 166
  set defaults(cols,width) 10.83203125

  # predefined formats







>







191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
  variable predefNumFmts
  variable predefColors
  variable predefColorsName
  variable predefColorsARBG
  variable predefBorderLineStyles
  variable predefPatternType
  variable xmlns
  variable pkgPath

  set defaults(path) {.}

  set defaults(numFmts,start) 166
  set defaults(cols,width) 10.83203125

  # predefined formats
4161
4162
4163
4164
4165
4166
4167
4168









































4169


4170
4171
4172
4173
      }
      default {
        $spreadsheet column $sheet -index $column -style $left
      }
    }
  }
}










































package provide ooxml 1.7



# Local Variables:
# tcl-indent-level: 2
# End:








>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

>
>




4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
      }
      default {
        $spreadsheet column $sheet -index $column -style $left
      }
    }
  }
}

proc ::ooxml::build-info { {cmd {}} } {
  variable pkgPath

  # TIP 599: Extended build information
  # https://core.tcl-lang.org/tips/doc/trunk/tip/599.md

  set file [file join $pkgPath manifest.txt]

  if {[file readable $file] && ![catch {open $file r} fd]} {
    set manifest [read $fd]
    close $fd

    set uuid [dict get $manifest MANIFEST_UUID]
    set checkin [string map {[ {} ] {}} [dict get $manifest MANIFEST_VERSION]]
    set build [dict get $manifest FOSSIL_BUILD_HASH]
    set datetime [string map {{ } T} [dict get $manifest MANIFEST_DATE]]Z
    set version [dict get $manifest RELEASE_VERSION]
    set compiler {tcl.noarch}

    switch -- $cmd {
      commit {
        return $uuid
      }
      version - patchlevel {
        return $version
      }
      compiler {
        return $compiler
      }
      path {
        return $pkgPath
      }
      default {
        return ${version}+${checkin}.${datetime}.${compiler}
      }
    }
  } else {
    return {?.manifest_not_found}
  }
}

package provide ooxml 1.7

set ::ooxml::pkgPath [file dirname [info script]]

# Local Variables:
# tcl-indent-level: 2
# End:

Changes to pkgIndex.tcl.in.

1
2
3
4
5
6
7
#
# Tcl package index file
#
package ifneeded @PACKAGE_NAME@ @PACKAGE_VERSION@ "
  source [file join $dir @PACKAGE_NAME@.tcl]
  source [file join $dir build-info.tcl]
"



|
<
<
<
1
2
3
4



#
# Tcl package index file
#
package ifneeded @PACKAGE_NAME@ @PACKAGE_VERSION@ [list source [file join $dir @PACKAGE_NAME@.tcl]]



Changes to tools/mkversion.tcl.

103
104
105
106
107
108
109




110


111
112
113
114

115




116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132



133
134
135
136


137
138
139
140

141
142
143




144
145
146
147
148
149
    }
  }
  close $fd
} else {
  puts stderr "can't open file manifest"
}





set template {namespace eval ::PKG {



  # TIP 599: Extended build information
  # https://core.tcl-lang.org/tips/doc/trunk/tip/599.md


  proc build-info { {cmd {}} } {




    set uuid MANIFEST_UUID
    set checkin [string map {[ {} ] {}} {MANIFEST_VERSION}]
    set build FOSSIL_BUILD_HASH
    set datetime [string map {{ } T} {MANIFEST_DATE}]Z
    set version RELEASE_VERSION
    set compiler {tcl.noarch}

    switch -- $cmd {
      commit {
        return $uuid
      }
      version - patchlevel {
        return $version
      }
      compiler {
        return $compiler
      }



      default {
        return ${version}+${checkin}.${datetime}.${compiler}
      }
    }


  }
}}

if {[llength $argv] == 1} {

  set pkgName [lindex $argv 0]
  lappend manifest PKG $pkgName
  puts [string map $manifest $template]





} else {
  foreach {n v} $manifest {
    puts [list $n $v]
  }
}







>
>
>
>
|
>
>




>
|
>
>
>
>
|
|
|
|
|












>
>
>




>
>

<
|
|
>
|
|
<
>
>
>
>
|
|
|
|
<

103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153

154
155
156
157
158

159
160
161
162
163
164
165
166

167
    }
  }
  close $fd
} else {
  puts stderr "can't open file manifest"
}

if {0} {
#
# Build Info Example Procedure
#

proc ::pkgname::build-info { {cmd {}} } {
  variable pkgPath

  # TIP 599: Extended build information
  # https://core.tcl-lang.org/tips/doc/trunk/tip/599.md

  set file [file join $pkgPath manifest.txt]

  if {[file readable $file] && ![catch {open $file r} fd]} {
    set manifest [read $fd]
    close $fd

    set uuid [dict get $manifest MANIFEST_UUID]
    set checkin [string map {[ {} ] {}} [dict get $manifest MANIFEST_VERSION]]
    set build [dict get $manifest FOSSIL_BUILD_HASH]
    set datetime [string map {{ } T} [dict get $manifest MANIFEST_DATE]]Z
    set version [dict get $manifest RELEASE_VERSION]
    set compiler {tcl.noarch}

    switch -- $cmd {
      commit {
        return $uuid
      }
      version - patchlevel {
        return $version
      }
      compiler {
        return $compiler
      }
      path {
        return $pkgPath
      }
      default {
        return ${version}+${checkin}.${datetime}.${compiler}
      }
    }
  } else {
    return {?.manifest_not_found}
  }

}

package provide 1.0

# info script ?filename?

# If a Tcl script file is currently being evaluated (i.e. there is a call to Tcl_EvalFile active or there is an active invocation of the source command),
# then this command returns the name of the innermost file being processed. If filename is specified, then the return value of this command will be modified
# for the duration of the active invocation to return that name. This is useful in virtual file system applications. Otherwise the command returns an empty string.
set ::pkgname::pkgPath [file dirname [info script]]
}

foreach {n v} $manifest {
  puts [list $n $v]

}