Skip to content
This repository was archived by the owner on Aug 11, 2021. It is now read-only.

Releases: markfinal/BuildAMation

Release v1.2.0 alpha 4

12 Jun 17:32
Compare
Choose a tag to compare
Pre-release

Highlights of v1.2.0a4

This alpha release includes feature updates and bug fixes. Following on from alpha 3 using vcvarsall.bat to set up VisualC build environments, this is also now used to detect and configure WindowsSDKs.
The BAM shell scripts (batch and bash) can also now be executed from any directory, and spaces in the BAM installation path are no longer an issue.

  • Fixed regression in Xcode project generation introduced in alpha 3.
  • Fixed intermittent multi-threaded issue when multiple InnoSetup executable were trying to write to the same directory.
  • WindowsSDKs are now detected, and sub-versions selected for WindowsSDK10, using VisualStudio and WindowsSDK scripts (affects VisualC-10.0 through 15.0).
  • Compiler toolchain detection is deferred until the first tool instance module is created. More information is printed to the log in normal verbose mode to show installation paths and versions selected.
  • Spaces in the installation path of BAM are now properly quoted in shell scripts. Thanks to the report from @zerocrunch.

Full changes since v1.2.0a3

Known issues

Bug list

Release v1.2.0 alpha 3

13 May 13:45
Compare
Choose a tag to compare
Pre-release

Highlights of v1.2.0a3

This alpha release includes feature updates and bug fixes. Two callouts are the optimisation flags, and using VisualStudio files to determine an environment to run in (avoiding hardcoded versions).

  • Reworked compiler optimisation flags; common settings (Speed/Size) are now more like what you should expect, while Custom is now deferred to the chosen compiler to configure to anything it chooses.
  • Windows .rc files that were procedurally generated by BAM are now only written to disk when either a) they don't exist, or b) they've changed since the last write. This was causing unnecessary relinks in VisualStudio executable projects.
  • Added better error text when more than 65K objects exists in the temporary folder, and BAM now automatically deletes all of its temporary files.
  • Added Bam.Core.ModulePackageDirectoryRedirectAttribute as a per-module option to the per-package existing attribute Bam.Core.PackageDirectoryRedirectAttribute.
  • Bam.Core.OSUtilities.GetInstallLocation now looks in standard install locations on Windows, as well as custom locations, and can cache executable paths based on custom keys.
  • An overload of Bam.Core.Graph.FindReferencedModule<T>(env) can now be used in patch functions.
  • Bam.Core.IOverrideModuleConfiguration.execute() is now aware of the Bam.Core.Environment.
  • Added Publisher.ZipModule to archive a directory. (Current use-case is in the Python standard library.)
  • BAM now includes the vswhere NuGet package.
  • VisualC packages now use vswhere and vcvarsvall.bat to determine an environment to execute tools in.
  • Setting C.CModule executable versions has been made easier with a SetSemanticVersion function (and several overloads).

Full changes since v1.2.0a2

Known issues

Bug list

Release version v1.1.7

13 May 12:41
Compare
Choose a tag to compare

Highlights of v1.1.7

This is a bug fix release for an update to VisualStudio 2017

  • Now supports the latest VisualStudio 2017 15.7 release, when specifying --VisualC.version=15.0 on the bam command line (or in default packages).

Full changes since v1.1.6

Known issues

Bug list

Release version v1.1.6

11 Mar 13:54
Compare
Choose a tag to compare

Highlights of v1.1.6

This is a bug fix release for an update to VisualStudio 2017

  • Now supports the latest VisualStudio 2017 15.6 release, when specifying --VisualC.version=15.0 on the bam command line (or in default packages).

Full changes since v1.1.5

Known issues

Bug list

Release v1.2.0 alpha 2

23 Jan 20:57
Compare
Choose a tag to compare
Pre-release

Highlights of v1.2.0a2

This alpha release includes feature updates and bug fixes. Some found while using a1, and others found with the new continuous integration using TravisCI and AppVeyor.

  • Any tool module deriving from Bam.Core.PrebuiltTool now verifies its Executable exists. If not, a Bam.Core.UnableToBuildModuleException is thrown, and it is up to an invoking module as to whether it can handle this (fallback behaviour is don't build the module).
  • Publisher.Collation.IncludeAllModulesInNamespace has been improved, including accepting a regular expression filter to include a subset of all modules in a namespace.
  • Publisher copy tools (cp, rsync, xcopy) now handle their platform specific requirements internally, rather than imposing that onto the collation modules. (Simplifies the logic a lot.)
  • Stripped collation now copies from the runtime collation, not the source data. This allows the runtime collation to make any modifications (e.g. rpaths, install_name_tool, etc) in order to create a runnable distributable, and stripping should apply to that.
  • Many bug fixes.

Full changes since v1.2.0a1

Known issues

Bug list

Release v1.2.0 alpha 1

07 Jan 12:49
Compare
Choose a tag to compare
Pre-release

Highlights of v1.2.0a1

This release includes major (breaking) changes to both the core assembly (in the TokenizedString class) and the Publisher and C packages.

  • Publisher now reuses the dependency tree declared at build time in order to determine runtime dependencies to be included in a distribution. You only need to specify the top-most application to include.
  • Publisher continues to allow additional files and directories to be published alongside an application.
  • Publisher defines 'default layouts' for software distributions, which are platform specific and application-type specific (although package scripts are written mostly agnostically). Users may also define their own layouts.
  • Bam.Core.TokenizedString has been updated to be more flexible to handle the layout system above; macros may be found from module-hierarchies; partially parsed strings may be embedded into others more easily; the Parse() function now only performs parsing; the ToString() function only returns a parsed string, but will raise an exception if used on any incompletely parsed string; aliased strings have been removed and Set() function introduced to (under certain conditions) modify a TokenizedString.
  • C packages has changes to the C.OSXFramework class signature, and C.SharedObjectSymbolicLink modules added for the Linux symlinks to shared objects as first class modules now (simplifying publication).

Additionally:

  • Unit tests have been added for the Core assembly.
  • Thread safety has been hardened for all build modes.
  • Performance improvements in the Core assembly.
  • And much more

Full changes since v1.1.5

Known issues

Bug list

Release version v1.1.5

07 Jan 12:28
Compare
Choose a tag to compare

Highlights of v1.1.5

This is a bug fix release for an update to VisualStudio 2017

  • Now supports the latest VisualStudio 2017 15.5 release, when specifying --VisualC.version=15.0 on the bam command line (or in default packages).

Full changes since v1.1.4

Known issues

Bug list

Release version v1.1.4

04 Oct 18:58
Compare
Choose a tag to compare

Highlights of v1.1.4

This is unchanged since v1.1.4 beta 1, so includes:

  • Supporting Xcode 9 with macOS 10.13 SDK. Use --Clang.version=Xcode9 to test.
  • Fixed stack overflow bug during package dependency evaluation.
  • Added C.ICommonCompilerSettings.NamedHeaders, that is a list of headers to process as if appearing as the first line of each affected source file. Supported on VisualC, Mingw, Gcc and Clang (macOS). Added test case, ProcessNamedHeaderTest.
  • Fixed Xcode project generation when an C.IAdditionalSettings string contained a space, e.g. -include limits.

Full changes since v1.1.3

Known issues

Bug list

Release version v1.1.4b1

25 Sep 19:22
Compare
Choose a tag to compare
Pre-release

Highlights of v1.1.4 beta 1

  • Supporting Xcode 9 with macOS 10.13 SDK. Use --Clang.version=Xcode9 to test.
  • Fixed stack overflow bug during package dependency evaluation.
  • Added C.ICommonCompilerSettings.NamedHeaders, that is a list of headers to process as if appearing as the first line of each affected source file. Supported on VisualC, Mingw, Gcc and Clang (macOS). Added test case, ProcessNamedHeaderTest.
  • Fixed Xcode project generation when an C.IAdditionalSettings string contained a space, e.g. -include limits.

Full changes since v1.1.3

Known issues

Bug list

Release version 1.1.3

31 Aug 19:06
Compare
Choose a tag to compare

Highlights of v1.1.3

This is a bug fix update for v1.1.2.

  • Fixed regression from v1.1.2 that stopped functionality on macOS and Linux.

Full changes since v1.1.2

Known issues

Bug list