Mike Gerwitz

Activist for User Freedom

aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [DEV-7147] Build "xmli" files using "tamec"Joseph Frazer2020-04-091-1/+1
| | | | | Rather than copying the files, we want to start using "tamec" to make the "xmli" files, even if right now all it does is copy the file.
* [DEV-7136] Add xmli filesJoseph Frazer2020-04-081-1/+6
| | | | | | | Add a new step to the build process that copies the `xml` file to an `xmli` file. Eventually, the new compiler will create the `xmli` file and the old compiler will convert it to an `amle` file during the transition.
* [DEV-7086] TAMER: Remove WIP linker warningMike Gerwitz2020-04-061-1/+0
| | | | | While it is true that this is still being finalized, the warnings originally existed because tameld was not feature complete. It is now.
* Copyright year 2020 updateMike Gerwitz2020-03-0619-19/+19
|
* [DEV-7081] Add options to tameldJoseph Frazer2020-03-061-1/+1
| | | | | | | We want to add an option to set the output file to the linker so we do not need to redirect output to awk any longer. This also adds integration tests for tameld.
* TAMER: POC: Output xmleMike Gerwitz2020-02-261-1/+2
| | | | This is a working proof-of-concept that will be finalized in future commits.
* build-aux/closure-externs.js: New fileMike Gerwitz2020-01-221-0/+17
|
* build: Add revision files for xml{o,e}Mike Gerwitz2020-01-141-2/+2
| | | | This will force a rebuild and will be useful for upcoming changes.
* build-aux/Makefile.am: Optional timestampingMike Gerwitz2020-01-022-3/+22
| | | | | | | Note that, because of the way this is implemented, the timestamps may become mangled (multiple per line) for parallel builds. Output can be prettied up in the future.
* Revert "build-aux/Makefile.am: (program.expanded.xml): .version.xml dependency"Mike Gerwitz2019-05-071-1/+1
| | | | | | | Now I remember why I didn't do this: it forces a rebuild of program.expanded.xml every build. This reverts commit 4f3dfc3bc7f0a9f3a5bbf2c0483bc0b0fee9fc2e.
* build-aux/Makefile.am: (program.expanded.xml): .version.xml dependencyMike Gerwitz2019-05-071-1/+1
|
* build-aux/csvm2csv: Propagate csvm-expand exit statusMike Gerwitz2019-04-092-24/+14
| | | | | | | | csvm2csv was not failing when csvm-expand exited with a non-zero status. Further, the tests were written incorrectly to account for this. * build-aux/csvm2csv: Set `pipefail' option. * build-aux/test/test-csvm2csv: Fix tests.
* csvm: Permit all whitespace (including tabs)Mike Gerwitz2019-04-082-2/+19
| | | | | | While tabs aren't desirable, users that are not developers will be modifying these files, and so we need to be permissive in what we want to accept. That doesn't mean that we need to forego occasional formatting, though.
* Parallel build supportMike Gerwitz2019-04-041-3/+6
| | | | | | | | | | | | | tamed was originally designed with support for parallel builds in mind, but I hadn't completed that work because we didn't have enough hardware that we'd benefit strongly from it. That has since changed. tamed will now spawn additional runners as needed to fulfill requests, which works around the issue of not knowing how many jobs GNU Make is going to try to do at once. There were a couple minor dependency fixes/workarounds for now in the Makefile, but otherwise everything appears to be working great.
* build-aux/csvm-expand: {orig=>src} local arg typo fixMike Gerwitz2019-04-021-1/+1
| | | | This does not affect its functionality.
* build-aux/csvm-expand: Spawn only one date and memoizeMike Gerwitz2019-04-021-3/+31
| | | | | | | | A table with a couple hundred thousand rows was taking minutes to generate. This gets it down to a few seconds. * build-aux/csvm-expand (parse_date): New function. (parseline): use it.
* Copyright year simplification and update to Ryan Specialty GroupMike Gerwitz2019-02-0719-19/+19
| | | | | | | | | This now uses year ranges, which I'll update annually. This also renames "R-T Specialty" to "Ryan Specialty Group". The latter is the parent company of the former. I was originally employed under the former when LoVullo Associates was purchased, by I now work for the parent company.
* csv2xml: Import /rater/core{=>/base} directlyMike Gerwitz2019-02-011-1/+1
| | | | /rater/core is being removed.
* suppmk-gen: Properly exit with non-zero status on failureMike Gerwitz2019-01-232-1/+3
| | | | | * build-aux/m4/calcdsl.m4: Exit on suppmk-gen. * build-aux/suppmk-gen: Exit on failure.
* Add lsimports and check-couplingMike Gerwitz2018-12-192-0/+149
| | | | | | | | lsimports will be able to be used to replace the last remaining Ant script that generates depfiles. * build-aux/check-coupling: * build-aux/lsimports: New files.
* [BC BREAK] check target supplier customizationMike Gerwitz2018-12-182-17/+20
| | | | | | | | | | | | | | | | This allows customizing from the command-line what suppliers should be checked. This motivation for this is both to run as part of a distributed pipeline (where each supplier may be built individually), and for during development of a single supplier. BC BREAK: Note that this will now check for `package' in the test path for UI tests. To keep the old directory around, a symlink of `packages' to `ui' would suffice. * build-aux/Makefile (SUPPLIERS, suppliers_strip): New variables. (check-am): BC-BREAK: Build and check only requested suppliers. * build-aux/progtest-runner: BC-BREAK: First argument is now test directory and all remaining arguments specify the supplier XML files to check.
* Makefile.am (program-ui): Remove standalones depMike Gerwitz2018-12-181-1/+1
| | | | | | | | | We want to be able to build the UI independently of the suppliers. Historically, this did not provide much of a benefit, but this change allows us to build independently as a job in a distributed pipeline, and allows testing out the UI when rating is unneeded. * build-aux/Makefile.am (program-ui): Remove `standalones'.
* Makefile.am (program-ui-immediate): Remove old targetMike Gerwitz2018-12-181-3/+2
| | | | | | | | This target has not been used for years. * build-aux/Makefile.am (program-ui-immediate): Remove target. (program-ui): Use dependency of old `program-ui-immediate'. (.PHONY): Remove `program-ui-immediate'.
* Makefile.am: Add common targetMike Gerwitz2018-12-181-1/+9
| | | | * src/build-aux/Makefile.am (common): New target.
* Makefile.am: Copy srv/!(rater).js to destination pathsMike Gerwitz2018-12-101-1/+10
| | | | | | | | Note that such files may not actually exist, which is why `nullglob' is set and the `for' loop is used. * build-aux/Makefile.am (SHELL): Set `nullglob'. (program-data-copy, lvroot): Copy srv/!(rater).js to destination JS paths.
* tamed: Do not stall if TAMED_SPAWER_PID is runningMike Gerwitz2018-12-031-0/+3
| | | | | | | | | | | | | This will ensure that tamed does not stall while e.g. make is still running. This makes TAMED_STALL_SECONDS almost useless; maybe it'll be removed in future versions. * bin/tame (TAMED_SPAWNER_PID): Export variable. * bin/tamed (TAMED_SPAWNER_PID): New variable, default to PPID. (spawner-dead): New function. (stall-monitor): Use it. (usage): Update documentation. * build-aux/Makefile.am: Set TAMED_SPAWNER_PID to own id and export.
* Add new c1root and local c1-service copying to buildMike Gerwitz2018-11-282-2/+15
| | | | | | | | | | | | This maintains BC for existing raters that have not yet been migrated to use the new c1-import service. * build-aux/Makefile.am (path_c1root): New variable. (.PHONY): Add c1root target dependency. (program-data-copy): Copy to `@C1_IMPORT_MAPDEST@'. (c1root): New target. * build-aux/m4/calcdsl.m4 (C1_IMPORT_MAPDEST): Configure depending on the existence of the `c1-import' directory.
* Expose CALCROOT and new SRCPATHS to build scriptsMike Gerwitz2018-11-083-8/+15
| | | | | | | | | | | | | | | This begins to decouple the rater directory conventions using an incremental approach, defaulting to the existing structure. Not all things were modified (for example, cleaning will not work properly with a custom SRCPATHS if those directories do not exist); WIP. * build-aux/Makefile.am (path_dsl): Use `CALCROOT'. (suppliers.mk): Test for existence of program.dep and c1map directory before acting on them. * build-aux/m4/calcdsl.m4: Default SRCPATHS. Output it during configure. Expose CALCROOT and SRCPATHS using AC_SUBST. Invoke suppmk-gen using SRCPATHS. * build-aux/suppmk-gen: Use arguments (SRCPATHS) in place of hard-coded paths.
* build-aux/Makefile.am: Correct program_fragments sortingMike Gerwitz2018-10-191-1/+1
| | | | | | The sorting is intended to remove nondeterminism. This fixes 9cce2b15.
* build-aux/Makefile.am: Recognize all fragments as dependencies of ↵Mike Gerwitz2018-10-191-1/+7
| | | | | | | program.expanded.xml * build-aux/Makefile.am (program_fragments): New variable. (ui/program.expanded.xml): Add program_fragments as dependencies.
* bin/tame: Inherit TAME_CMD_WAITTIME from environmentMike Gerwitz2018-10-191-0/+1
| | | | | | | | | | * bin/tame (TAME_CMD_WAITTIME): Renamed from `RUNNER_CMD_WAITTIME'. Inherit from environment, default 3. (command-runner): Sleep for an additional TAME_CMD_WAITTIME seconds after requesting runner reload to give more time in case of high load. (verify-runner-ack): Rename variable. (usage): Document env var. * build-aux/Makefile.am: Export TAME_CMD_WAITTIME.
* Support non-xmlo dependencies for input map @srcMike Gerwitz2018-10-191-3/+12
| | | | | | | * build-aux/gen-make: Do not add ".xmlo" suffix for deps with a trailing `$'. * src/current/pkg-dep.xsl (lvm:program|lvm:return-map): Append ".xml$" to dep for map/@src (new dep).
* csv2xml: Remove @nameMike Gerwitz2018-10-191-1/+0
| | | | | | This has been autogenerated for some time (during complication). * build-aux/csv2xml: Remove @name from output root node.
* build-aux/Makefile.am: Copy stripped ui/package.strip.jsMike Gerwitz2018-10-161-4/+4
| | | | | | | This is the one we always want in the UI. Rather than stripping with an outside build process, just use this. * build-aux/Makefile.am (program-data-copy, lvroot): Copy ui/program{=>.strip}.js.
* Run YAML test cases against stripped executablev3.3.5Mike Gerwitz2018-10-162-3/+13
| | | | | | | | | | | This significantly improves speed and reduces memory usage when dealing with hundreds of test cases. * build-aux/Makefile.am (dest_standalone_strip): New variable. (strip, %.strip.js: New targets. (.PHONY): Add strip target. (check-am): Depend on strip. * build-aux/progtest-runner: Use stripped executables.
* Propagate TAMED_STALL_SECONDSv3.3.4Mike Gerwitz2018-10-161-0/+3
| | | | | bin/tame (TAMED_STALL_SECONDS): Export variable. build-aux/Makefile.am (TAMED_INSTALL_SECONDS): Export variable.
* Makefile.am: Correct build intermediates and target dependenciesv3.3.2Mike Gerwitz2018-10-111-7/+5
| | | | | | * Makefile.am (.SECONDARY): Keep all intermediate files. (%.html): Add `%.xmle' dependency. (lvroot): Add program-ui and c1map dependencies.
* build-aux/Makefile.am: .{PRECIOUS=>SECONDARY}Mike Gerwitz2018-10-111-1/+1
| | | | | | | This will keep the intermediate files around but will still delete them on build failure. * build-aux/Makefile.am (.SECONDARY): Renamed from `.PRECIOUS'.
* Integrate new compilation scripts, remove cqueue and Makefile.2Mike Gerwitz2018-10-115-329/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a major step toward normalcy---removing the kluge of a build process that was causing so many issues. Rather than echoing all operations to a queue file before passing it off to dslc, the new build scripts in `bin/' are used to invoke tame normally, as needed. This solves all of the current issues with things not rebuilding when they should. And, as a bonus, tab completion on targets works. Sorry this took so long. There wasn't much motivation until we hired so many people that are suffering from this. This does a few major things, along with some miscellaneous others: - Invoke bin/tame directly; - Merge Makefile.2.in into Makefile.am; and - Fix up some targets. * build-aux/Makefile.2.in: Delete file. Mostly merged with Makefile.am. * build-aux/Makefile.am: Add a bunch of new targets and definitions from Makefile.2.in. Modify all that previously used .cqueue to now invoke `$(TAME)' directly. Remove miscellaneous targets for trying to proxy targets to Makefile.2. (saneout, _go): Remove definitions. (.NOTPARALLEL): Add to prevent parallel builds. (ui/program.expanded.xml)[.version.xml]: Remove dependency for now. (clean): Also clean generated PHP files. Follow symlinks to clean core. This is still incomplete (does not clean all rate table stuff). (suppliers.mk)[xmlo_cmd]: Remove. See `gen-make' and `gen-c1make'. (lvroot)[summary-html]: New dependency. (kill-tamed, tamed-die): New targets (former alias of latter) to kill tamed. * build-aux/gen-c1make: Generate `$(TAME)' invocation. * build-aux/gen-make: Likewise. Remove `xmlo_cmd' output. Ignore recursive `tame' symlink (this can be removed once we clean `rater/' up. * build-aux/m4/calcdsl.m4 (TAME): Update description to reflect that it should now be the path to `bin/tame'. Adjust `AC_CHECK_FILE' lines accordingly. (tame_needed_ver): Remove. We have been in the same repo as TAME itself for quite some time. Remove associated code. (AC_CONFIG_FILES): Remove `Makefile.2'. * src/current/src/com/lovullo/dslc/DslCompiler.java (_DslCompiler)[compile]: Perform validation prefore `compile' command rather than a separate `validate' step. Remove `rm'. [compileSrc]: Stop echoing command. This was only necessary because of the previous Makefile klugery; now Make echoes on its own correctly.
* build-aux/gen-make: Do not parse typelist as depfilev3.2.1Mike Gerwitz2018-10-041-0/+6
|
* csvm: Auto-sort expanded outputMike Gerwitz2018-10-033-133/+324
| | | | | | | | | This will allow the variable abstractions to fully encapsulate values while still permitting binary searches on sorted rows. * csvm-expand: Renamed from `csvm2csv'. Add directive support. * csvm2csv: New script to perform sorting. Invokes aforementioned. * test/test-csvm2csv: Update for sorting.
* csvm2csv: Add some error checksMike Gerwitz2018-10-022-4/+85
| | | | | | | | | * build-aux/csvm2csv: Fail on invalid var definition. (expand_vars): Fail in invalid reference. (parseline): Fail on non-numeric range. * build-aux/test/test-csvm2csv (test-fail-unknown-var-ref, test-fail-non-numeric-range) (test-fail-invalid-var-dfn): New tests.
* csvm: Add test cases and support for all variable expressionsMike Gerwitz2018-10-012-10/+230
| | | | | | | | | | | | This allows variables to contain any type of expansion, treating them as (recursively) string replacements. * csvm2csv: Add Copyright year. (expand_vars): New function. (parseline): Use it. Expand before all other replacements so that variable expansions may support all types of expressions. Expand variables in range expressions. * test/test-csvm2csv: New file.
* build-aux/gen-c1make: New build scriptv2.17.3Mike Gerwitz2018-07-052-5/+99
| | | | | | | This solves the dependency-related problems with rebuilding c1map files. * build-aux/gen-c1make: New file. * build-aux/Makefile.2.in (suppliers.mk): Use it.
* build-aux: Liberate remaining build scriptsMike Gerwitz2018-07-055-0/+598
| | | | | | | | | | These were forgotten during the initial liberation. * build-aux/Makefile.2.in: New file. * build-aux/Makefile.am: New file. * build-aux/m4/calcdsl.m4: New file. * build-aux/progtest-runner: New file. * build-aux/suppmk-gen: New file.
* list2typedef: Remove trailing newline from preimageMike Gerwitz2018-05-152-7/+7
| | | | | | | | | Oops---we do not want a newline as part of the preimage, which is what `<<<' does. * build-aux/list2typedef (output-item)[value]: Remove newline from preimage. * build-aux/test/test-list2typedef (test-typedef-gen): Update hashes. (test-collision-value-check): Add new collisions.
* Cut down on namespace exports for object filesMike Gerwitz2018-05-152-4/+0
| | | | This should cut down on the file sizes a bit.
* [DEV-3115] gen-make: Account for typelistMike Gerwitz2018-05-071-2/+12
| | | | | | | This needs to be generalized, but will do for now. * build-aux/gen-make: Recognize typelists as dependencies. Always include source XML file as a dependency.
* [DEV-3115] build-aux/list2typedef: New scriptMike Gerwitz2018-05-072-0/+278
| | | | | * build-aux/list2typedef: New script. * build-aux/list2typedef/test/test-list2typedef: Respective test.
* build-aux/gen-make: Recurse without dir changeMike Gerwitz2018-05-041-2/+2
| | | | | | | Before this change, it was impossible for the initial paths provided to the script to be more than one level deep (relative to the cwd). * build-aux/gen-make: Handle multi-level children.