⚠️ Note 2023-01-21
Some things have changed since I originally wrote this in 2016. I have updated a few minor details, and the advice is still broadly the same, but there are some new Cloudflare features you can (and should) take advantage of. In particular, pay attention to Trevor Stevens' comment here from 22 January 2022, and Matt Stenson's useful caching advice. In addition, Backblaze, with whom Cloudflare are a Bandwidth Alliance partner, have published their own guide detailing how to use Cloudflare's Web Workers to cache content from B2 private buckets. That is worth reading,
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Resigning an iOS ipa for the app store | |
| Introduction | |
| Friday, October 18, 2019 | |
| For the release of company iOS applications to the Apple app store we need to resign those apps with our appropriate distribution certificate. This is the process you need to follow, as-of-this-writing, to properly re-sign an foo.ipa to upload to Apple using the Application Loader. | |
| This writing is making the assumption that the foo.ipa bundle that you has been created appropriately and that is only needs to be resigned. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import groovy.transform.Field | |
| // we want this to be global so that we can consistently | |
| // sync the same changelist over the course of our pipeline | |
| @Field currentChangelist = '' | |
| def riotP4Sync(Map config = [:]) { | |
| def humanReadableName = safePath("${JOB_NAME}-${STAGE_NAME}") | |
| def jenkinsWorkspaceName = safePath("${JOB_NAME}-") + workspaceShortname(env.STAGE_NAME) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # This assumes that the ~6GB mojave installer is in the /Applications folder. | |
| # If it's not, just open the App Store, search Mojave, and you can download the installer file from there. | |
| hdiutil create -o /tmp/mojave.cdr -size 6g -layout SPUD -fs HFS+J | |
| hdiutil attach /tmp/mojave.cdr.dmg -noverify -mountpoint /Volumes/install_mojave | |
| sudo /Applications/Install\ macOS\ mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/install_mojave | |
| mv /tmp/mojave.cdr.dmg ~/Desktop/InstallSystem.dmg | |
| hdiutil detach /Volumes/Install\ macOS\ mojave |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # References: | |
| # https://cmake.org/cmake/help/latest/command/add_custom_target.html | |
| # https://samthursfield.wordpress.com/2015/11/21/cmake-dependencies-between-targets-and-files-and-custom-commands/ | |
| # https://gist.github.com/socantre/7ee63133a0a3a08f3990 | |
| # https://stackoverflow.com/questions/24163778/how-to-add-custom-target-that-depends-on-make-install | |
| # https://stackoverflow.com/questions/30719275/add-custom-command-is-not-generating-a-target | |
| # https://stackoverflow.com/questions/26024235/how-to-call-a-cmake-function-from-add-custom-target-command | |
| # https://blog.csdn.net/gubenpeiyuan/article/details/51096777 | |
| cmake_minimum_required(VERSION 3.10) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| using System; | |
| using System.Collections.Generic; | |
| using System.IO; | |
| using System.Linq; | |
| using AutomationTool; | |
| using UnrealBuildTool; | |
| using Gauntlet; | |
| using System.Net.NetworkInformation; | |
| using static AutomationTool.P4Connection; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # First, you should install flickrapi | |
| # pip install flickrapi | |
| import flickrapi | |
| import urllib | |
| from PIL import Image | |
| # Flickr api access key | |
| flickr=flickrapi.FlickrAPI('c6a2c45591d4973ff525042472446ca2', '202ffe6f387ce29b', cache=True) |
FASTBuild is an open-source distributed build system, which could be a free alternative to Incredibuild. Unreal Engine 4 (UE4) does not support FASTBuild natively, however it's not hard to integrate it manually.
We assume you already have the full UE4 source code. First you'll need to grab the latest FASTBuild tools from here. We use v0.93 Windows x64 version in this tutorial. Download it and extract all the files. Here you have several choices:
- Place the files under any folder which could be found with your system's
PATHenvironment variable. To see where these folders are, run thePATHcommand in a command prompt window; - Place the files under the
Engine\Binaries\ThirdParty\FASTBuildfolder of your engine. This is the recommended place; - Place the files anywhere you like. This is not recommended because you'll have to hard-code the path later.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| node { | |
| echo 'Results included as an inline comment exactly how they are returned as of Jenkins 2.121, with $BUILD_NUMBER = 1' | |
| echo 'No quotes, pipeline command in single quotes' | |
| sh 'echo $BUILD_NUMBER' // 1 | |
| echo 'Double quotes are silently dropped' | |
| sh 'echo "$BUILD_NUMBER"' // 1 | |
| echo 'Even escaped with a single backslash they are dropped' | |
| sh 'echo \"$BUILD_NUMBER\"' // 1 | |
| echo 'Using two backslashes, the quotes are preserved' | |
| sh 'echo \\"$BUILD_NUMBER\\"' // "1" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?xml version="1.0" encoding="UTF-8"?> | |
| <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> | |
| <plist version="1.0"> | |
| <dict> | |
| <key>method</key> | |
| <string>ad-hoc</string> | |
| </dict> | |
| </plist> |
NewerOlder