Skip to content

Commit

Permalink
Merge pull request #16033 from brave/dont-update-branding-in-tests
Browse files Browse the repository at this point in the history
Fix update branding logic to make release builds faster
  • Loading branch information
goodov authored Nov 22, 2022
2 parents bdf4746 + 67940dc commit 0fb3e90
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 33 deletions.
3 changes: 2 additions & 1 deletion build/commands/lib/build.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ const build = (buildConfig = config.defaultBuildConfig, options) => {
config.update(options)
checkVersionsMatch()

util.touchOverriddenFilesAndUpdateBranding()
util.touchOverriddenFiles()
util.updateBranding()

if (config.xcode_gen_target) {
util.generateXcodeWorkspace()
Expand Down
1 change: 1 addition & 0 deletions build/commands/lib/createDist.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ const fs = require('fs-extra')
const createDist = (buildConfig = config.defaultBuildConfig, options) => {
config.buildConfig = buildConfig
config.update(options)
util.touchOverriddenFiles()
util.updateBranding()
// On Android CI does two builds sequentially: for aab and for apk.
// Symbols are uploaded after 2nd build, but we need to preserve the symbols
Expand Down
2 changes: 1 addition & 1 deletion build/commands/lib/test.js
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ const test = (passthroughArgs, suite, buildConfig = config.defaultBuildConfig, o
} else {
config.buildTarget = suite
}
util.touchOverriddenFilesAndUpdateBranding()
util.touchOverriddenFiles()
util.buildTarget()

// Filter out upstream tests that are known to fail for Brave
Expand Down
55 changes: 24 additions & 31 deletions build/commands/lib/util.js
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,24 @@ const util = {
fileMap.add([path.join(config.braveCoreDir, 'ui', 'webui', 'resources', 'css', 'text_defaults_md.css'),
path.join(config.srcDir, 'ui', 'webui', 'resources', 'css', 'text_defaults_md.css')])

let explicitSourceFiles = new Set()
if (process.platform === 'darwin') {
// Set proper mac app icon for channel to chrome/app/theme/mac/app.icns.
// Each channel's app icons are stored in brave/app/theme/$channel/app.icns.
// With this copying, we don't need to modify chrome/BUILD.gn for this.
const iconSource = path.join(braveAppDir, 'theme', 'brave', 'mac', config.channel, 'app.icns')
const iconDest = path.join(chromeAppDir, 'theme', 'brave', 'mac', 'app.icns')
explicitSourceFiles[iconDest] = iconSource

// Set proper branding file.
let branding_file_name = 'BRANDING'
if (config.channel)
branding_file_name = branding_file_name + '.' + config.channel
const brandingSource = path.join(braveAppDir, 'theme', 'brave', branding_file_name)
const brandingDest = path.join(chromeAppDir, 'theme', 'brave', 'BRANDING')
explicitSourceFiles[brandingDest] = brandingSource
}

for (const [source, output] of fileMap) {
if (!fs.existsSync(source)) {
console.warn(`Warning: The following file-system entry was not found for copying contents to a chromium destination: ${source}. Consider removing the entry from the file-map, or investigating whether the correct source code reference is checked out.`)
Expand All @@ -267,8 +285,9 @@ const util = {
sourceFiles = [source]
}

for (const sourceFile of sourceFiles) {
let destinationFile = path.join(output, path.relative(source, sourceFile))
for (let sourceFile of sourceFiles) {
const destinationFile = path.join(output, path.relative(source, sourceFile))
sourceFile = explicitSourceFiles[destinationFile] || sourceFile
if (!fs.existsSync(destinationFile) ||
util.calculateFileChecksum(sourceFile) != util.calculateFileChecksum(destinationFile)) {
fs.copySync(sourceFile, destinationFile)
Expand All @@ -277,31 +296,6 @@ const util = {
}
}

if (process.platform === 'darwin') {
// Copy proper mac app icon for channel to chrome/app/theme/mac/app.icns.
// Each channel's app icons are stored in brave/app/theme/$channel/app.icns.
// With this copying, we don't need to modify chrome/BUILD.gn for this.
const iconSource = path.join(braveAppDir, 'theme', 'brave', 'mac', config.channel, 'app.icns')
const iconDest = path.join(chromeAppDir, 'theme', 'brave', 'mac', 'app.icns')
if (!fs.existsSync(iconDest) ||
util.calculateFileChecksum(iconSource) != util.calculateFileChecksum(iconDest)) {
console.log('copy app icon')
fs.copySync(iconSource, iconDest)
}

// Copy branding file
let branding_file_name = 'BRANDING'
if (config.channel)
branding_file_name = branding_file_name + '.' + config.channel

const brandingSource = path.join(braveAppDir, 'theme', 'brave', branding_file_name)
const brandingDest = path.join(chromeAppDir, 'theme', 'brave', 'BRANDING')
if (!fs.existsSync(brandingDest) ||
util.calculateFileChecksum(brandingSource) != util.calculateFileChecksum(brandingDest)) {
console.log('copy branding file')
fs.copySync(brandingSource, brandingDest)
}
}
if (config.targetOS === 'android') {

let braveOverwrittenFiles = new Set();
Expand Down Expand Up @@ -405,7 +399,7 @@ const util = {
}
},

touchOverriddenFiles: () => {
touchOverriddenChromiumSrcFiles: () => {
console.log('touch original files overridden by chromium_src...')

// Return true when original file of |file| should be touched.
Expand Down Expand Up @@ -465,10 +459,9 @@ const util = {
})
},

touchOverriddenFilesAndUpdateBranding: () => {
util.touchOverriddenFiles()
touchOverriddenFiles: () => {
util.touchOverriddenChromiumSrcFiles()
util.touchOverriddenVectorIconFiles()
util.updateBranding()
},

// Chromium compares pre-installed midl files and generated midl files from IDL during the build to check integrity.
Expand Down

0 comments on commit 0fb3e90

Please sign in to comment.