Best practice – Git + Build automation – Keeping configs separate

That is called content filter driver, and it allows you to declare, in a .gitattributes file (and only for your config files type) a smudge script which will automatically on checkout: combine a config file template file (config.tpl) with the right config file value (config.dev, config.prod, …) in order to produced a non-versioned config file … Read more

Still getting warning : Configuration ‘compile’ is obsolete and has been replaced with ‘implementation’

I’ve updated com.google.gms:google-services from 3.1.1 to 3.2.0 and the warning stopped appearing. buildscript { repositories { google() jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:3.1.0’ // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files classpath ‘com.google.gms:google-services:3.2.0’ } }

iOS – Build fails with CocoaPods cannot find header files

Update Make sure your Podfile includes link_with on targets missing a config file. Cocoapods only sets the first target by default otherwise. e.g. platform :osx, ‘10.7’ pod ‘JSONKit’, ‘~> 1.4’ link_with ‘Pomo’, ‘Pomo Dev’, ‘Pomo Tests’ —— End Update Note: Please do note that you have to look into Project->Info->Configurations for steps below. I had … Read more

Re-sign IPA (iPhone)

Finally got this working! Tested with a IPA signed with cert1 for app store submission with no devices added in the provisioning profile. Results in a new IPA signed with a enterprise account and a mobile provisioning profile for in house deployment (the mobile provisioning profile gets embedded to the IPA). Solution: Unzip the IPA … Read more

Adding external library to artifact jar in IntelliJ IDEA

You have 2 options here: extract the dependency into the artifact jar so that the app is the single executable jar with all the dependencies link the dependent jars via the Manifest.MF and copy them near the application main jar I’ve prepared a sample project that demonstrates both approaches: HelloWithDependencies.zip. The artifacts are produced into … Read more

Android Studio gradle takes too long to build

Update 2022; Google removed “Offline work” option; They added “Donwload external annotations for dependencies” option, but of course unchecking that option does not provide the same speed improvements. Answer In Android Studio go to File -> Settings -> Build, Execution, Deployment -> Build Tools -> Gradle (if on mac) Android Studio -> preferences… -> Build, … Read more

Xcode “Build and Archive” from command line

I found how to automate the build and archive process from the comand line, I just wrote a blog article explaining how you can achieve that. The command you have to use is xcrun: /usr/bin/xcrun -sdk iphoneos PackageApplication \ -v “${RELEASE_BUILDDIR}/${APPLICATION_NAME}.app” \ -o “${BUILD_HISTORY_DIR}/${APPLICATION_NAME}.ipa” \ –sign “${DEVELOPER_NAME}” \ –embed “${PROVISONING_PROFILE}” You will find all the … Read more

What is pluginManagement in Maven’s pom.xml?

You still need to add <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> </plugin> </plugins> in your build, because pluginManagement is only a way to share the same plugin configuration across all your project modules. From Maven documentation: pluginManagement: is an element that is seen along side plugins. Plugin Management contains plugin elements in much the same way, except … Read more