The build commands can be executed using Phing like so:
The build commands behave differently based on place, where they are executed:
- on the build server (e.g. Jenkins)
- on developer machine
The place, where command is executed isn't detected automatically, but rather by looking at
local.build build property in
/tools/build/build.properties file. The main point of local build is not to change database, because developer already has working database and we shouldn't be changing it during build process.
Before we're importing database only, when
local.build was not set. This however prevented from having builds that doesn't need any database. Then this logic was changed to change database only, when some of SQL files are present in
/system folder. Unfortunately when
/build/test_data folder is present then it's contents is copied to
/system folder and DB is imported.
Don't copy contents of
/build/test_data folder during local builds.