Giter Site home page Giter Site logo

adamwaite / ios-build-kit Goto Github PK

View Code? Open in Web Editor NEW
567.0 567.0 54.0 20.49 MB

☠️ BuildKit is a modular command line interface for automating iOS project builds. Bundled build tasks include: Increment app version • Xcode build • Overlay version number on icon files • Run unit tests • Create .ipa artefact.

License: MIT License

Ruby 10.34% Objective-C 86.62% C 0.52% Shell 1.71% Swift 0.80%

ios-build-kit's People

Contributors

adamwaite avatar delebedev avatar neilkimmett avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ios-build-kit's Issues

Running simultaneous builds

Tried creating a bash script to create multiple builds but for some reason it doesn't seem like its working. Any ideas?

Install failing

When trying to install, via gem install ios_build_kit

ERROR: While executing gem ... (Gem::UnsatisfiableDependencyError) Unable to resolve dependency: 'ios_build_kit (= 0.0.3)' requires 'nomad-cli

nomad-cli 0.0.2 is installed, which it says is the latest version.
ruby -v = 2.1.0p0 through RVM.

Let me know if you need any more information, can't wait to use build kit.

NoSuchMethod error

How do I fix this

it is urgent

/usr/local/lib/ruby/gems/2.2.0/gems/ios_build_kit-0.0.6/lib/ios_build_kit/utils/assertions.rb:26:in assert_symbol_hash_keys': undefined methodeach' for false:FalseClass

Error when using buildkit

buildkit build_config.yml prints
/Users/dlebedev/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:106:in require': dlopen(/Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/rmagick-2.13.2/lib/RMagick2.bundle, 9): Library not loaded: /usr/local/lib/libltdl.7.dylib (LoadError)
Referenced from: /usr/local/lib/libMagickCore-6.Q16.1.dylib
Reason: image not found - /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/rmagick-2.13.2/lib/RMagick2.bundle
from /Users/dlebedev/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:106:in require' from /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/rmagick-2.13.2/lib/rmagick.rb:11:in <top (required)>'
from /Users/dlebedev/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:58:in require' from /Users/dlebedev/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:58:in require'
from /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/ios_build_kit-0.0.1/lib/ios_build_kit/tasks/decorate_icon.rb:3:in <module:BuildKit>' from /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/ios_build_kit-0.0.1/lib/ios_build_kit/tasks/decorate_icon.rb:1:in <top (required)>'
from /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/ios_build_kit-0.0.1/lib/ios_build_kit.rb:3:in load' from /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/ios_build_kit-0.0.1/lib/ios_build_kit.rb:3:in block in module:BuildKit'
from /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/ios_build_kit-0.0.1/lib/ios_build_kit.rb:3:in each' from /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/ios_build_kit-0.0.1/lib/ios_build_kit.rb:3:in module:BuildKit'
from /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/ios_build_kit-0.0.1/lib/ios_build_kit.rb:1:in <top (required)>' from /Users/dlebedev/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:58:in require'
from /Users/dlebedev/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:58:in require' from /Users/dlebedev/.rvm/gems/ruby-2.0.0-p0/gems/ios_build_kit-0.0.1/bin/buildkit:6:in <top (required)>'
from /Users/dlebedev/.rvm/rubies/ruby-2.0.0-p0/bin/buildkit:23:in load' from /Users/dlebedev/.rvm/rubies/ruby-2.0.0-p0/bin/buildkit:23:in

'`

Web UI

Web UI for running builds?

NoMethodError when deleting mandatory configuration sush as :build_dir

Steps:

  1. delete :build_dir
  2. run buildkit

Result:

Running Task: xcode_build
-------------------------
/Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/utils/assertions.rb:15:in `block in assert_required_config': undefined method `terminate_with_err' for #<BuildKit::Runner::TaskRunner:0x007fc613828828> (NoMethodError)
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/utils/assertions.rb:14:in `each'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/utils/assertions.rb:14:in `assert_required_config'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/tasks/xcode_build.rb:24:in `assert_requirements'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/task.rb:17:in `prepare_task_with_runner_and_options!'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/task.rb:10:in `initialize'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/tasks/xcode_build.rb:6:in `new'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/tasks/xcode_build.rb:6:in `xcode_build'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/task_runner.rb:25:in `block in run_tasks!'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/task_runner.rb:21:in `each'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit/task_runner.rb:21:in `run_tasks!'
    from /Users/dlebedev/src/git/iOS-Build-Kit/lib/ios_build_kit.rb:9:in `start_with_configuration'
    from /Users/dlebedev/src/git/iOS-Build-Kit/bin/buildkit:17:in `<main>'
[1]    11068 exit 1     ~/src/git/iOS-Build-Kit/bin/buildkit build_config.yml```

-lPods not found issue in example project

Struggling from this issue for the whole day.
Console output is library not found for -lPods
During debugging i've discovered that the bug appears because buildkit produces CONFIGURATION_BUILD_DIR="Builds" option for xctool and somehow Pods project does not take it into acccount. Trying to find the solution, any help is appreciated

Proposal: use xcpretty instead of xctool

Is there any particular reason to use pretty 'heavy' dependensy such as xctool? Since xcode5 xcodebuild can be used to run tests from command line, and from my experience with xctool it sometimes fails to run the tests in different conditions.

Why not to use https://github.com/mneorr/XCPretty? It's pretty lightweight and build on top of xcodebuild.

Hi

First of all, thanks for sharing this.

I followed the steps according with the documentation, http://rubydoc.info/gems/ios_build_kit/0.0.1/frames, but when I try to execute the example project I get this error:
/Users/casero/.rvm/gems/ruby-2.0.0-p353/gems/ios_build_kit-0.0.1/lib/ios_build_kit/task_runner.rb:52:in prepare_task_queue!': private method select' called for nil:NilClass (NoMethodError) from /Users/casero/.rvm/gems/ruby-2.0.0-p353/gems/ios_build_kit-0.0.1/lib/ios_build_kit/task_runner.rb:15:in initialize' from /Users/casero/.rvm/gems/ruby-2.0.0-p353/gems/ios_build_kit-0.0.1/lib/ios_build_kit.rb:8:in new' from /Users/casero/.rvm/gems/ruby-2.0.0-p353/gems/ios_build_kit-0.0.1/lib/ios_build_kit.rb:8:in start_with_configuration' from /Users/casero/.rvm/gems/ruby-2.0.0-p353/gems/ios_build_kit-0.0.1/bin/buildkit:17:in <top (required)>' from /Users/casero/.rvm/gems/ruby-2.0.0-p353/bin/buildkit:23:in load' from /Users/casero/.rvm/gems/ruby-2.0.0-p353/bin/buildkit:23:in <main>'

I'm new in ruby, any suggestion is welcome!.

Thanks

CodeSign fails but script gives happy cheers

I am trying to run the script from Jenkins
and it shows that code sign failed, but continues on to creating ipa instead of warning that the script failed
Program /usr/bin/codesign returned 1 : [/Users/jenkins/workspace/Builds/MyApp.app: code object is not signed at all In architecture: armv7 ] Codesign check fails : /Users/jenkins/workspace/Builds/MyApp.app: code object is not signed at all In architecture: armv7

ipa builds with wrong provisioning profile even when specifying path to provisioning profile

I'm seeing that the wrong profile (app store) is selected even though I specifically tell it to pick the adhoc profile. I also have to refresh my xcode profiles each time a profile is updated. Do you have any idea why this is the case?

Here's the relevant part of my config file:

:configuration:

...

:build_configuration: "TestFlight"

:scheme: "SendOutCardsApp_CI"

:sdk: "iphoneos"

:provisioning_profile: "../Provisioning/App_AdHoc_Profile.mobileprovision"

:code_sign: "iPhone Distribution: SOC, LLC"

:icon_dir: "BuildKit/Icon/"

:build_dir: "Builds"

:preferences:

:reports: "Reports"

Here is the log and it mentions arguments are properly set:

Arguments: embed=../Provisioning/App_AdHoc_Profile.mobileprovision verbose=1

The profile in the Provisioning folder is up to date. Thank you and I appreciate your help in advance!

configure.rb fails with stock Ruby in Mountain Lion

Running configure.rb on Mountain Lion fails with an error message:

undefined method `absolute_path' for File:Class (NoMethodError)

System installed Ruby is 1.8.6, turns out this needs Ruby 1.9 or later.

Workaround: Install a newer version of Ruby (e.g. via homebrew or rvm)

Error when using buildkit

/Users/koofrank/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:126:in require': dlopen(/Users/koofrank/.rvm/gems/ruby-2.0.0-p247/extensions/x86_64-darwin-12/2.0.0-static/rmagick-2.13.2/RMagick2.bundle, 9): Library not loaded: /usr/local/lib/libfreetype.6.dylib (LoadError) Referenced from: /usr/local/lib/libMagickCore-6.Q16.1.dylib Reason: Incompatible library version: libMagickCore-6.Q16.1.dylib requires version 17.0.0 or later, but libfreetype.6.dylib provides version 13.0.0 - /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/extensions/x86_64-darwin-12/2.0.0-static/rmagick-2.13.2/RMagick2.bundle from /Users/koofrank/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:126:inrequire'
from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/gems/rmagick-2.13.2/lib/rmagick.rb:11:in <top (required)>' from /Users/koofrank/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:inrequire'
from /Users/koofrank/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in require' from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/gems/ios_build_kit-0.0.5/lib/ios_build_kit/tasks/decorate_icon.rb:3:inmodule:BuildKit'
from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/gems/ios_build_kit-0.0.5/lib/ios_build_kit/tasks/decorate_icon.rb:1:in <top (required)>' from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/gems/ios_build_kit-0.0.5/lib/ios_build_kit.rb:3:inload'
from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/gems/ios_build_kit-0.0.5/lib/ios_build_kit.rb:3:in block in <module:BuildKit>' from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/gems/ios_build_kit-0.0.5/lib/ios_build_kit.rb:3:ineach'
from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/gems/ios_build_kit-0.0.5/lib/ios_build_kit.rb:3:in <module:BuildKit>' from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/gems/ios_build_kit-0.0.5/lib/ios_build_kit.rb:1:in<top (required)>'
from /Users/koofrank/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in require' from /Users/koofrank/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:inrequire'
from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/gems/ios_build_kit-0.0.5/bin/buildkit:6:in <top (required)>' from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/bin/buildkit:23:inload'
from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/bin/buildkit:23:in <main>' from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/bin/ruby_executable_hooks:15:ineval'
from /Users/koofrank/.rvm/gems/ruby-2.0.0-p247/bin/ruby_executable_hooks:15:in `

'

configure.rb trashes git repo

When you first clone XcodeProject, the repo is fine. But after running ruby configure.rb, the repo is broken:

$ git st
error: bad index file sha1 signature
fatal: index file corrupt

Unfortunately, the fix suggested on Stack Overflow also fails:

$ rm -f .git/index
$ git reset
error: packfile .git/objects/pack/pack-a7d66cdfc1725b675ce54100f91ebb0ac2d3a0b7.pack does not match index
warning: packfile .git/objects/pack/pack-a7d66cdfc1725b675ce54100f91ebb0ac2d3a0b7.pack cannot be accessed
error: packfile .git/objects/pack/pack-a7d66cdfc1725b675ce54100f91ebb0ac2d3a0b7.pack does not match index
warning: packfile .git/objects/pack/pack- a7d66cdfc1725b675ce54100f91ebb0ac2d3a0b7.pack cannot be accessed
error: packfile .git/objects/pack/pack-a7d66cdfc1725b675ce54100f91ebb0ac2d3a0b7.pack does not match index
warning: packfile .git/objects/pack/pack-a7d66cdfc1725b675ce54100f91ebb0ac2d3a0b7.pack cannot be accessed
fatal: Could not parse object 'HEAD'.

It's probably a global rename gone too far.

Unspecified code_sign_arg

Hi,

I try to build my app project with iOS-Build-Kit.
I have one issue for signing an IPA.
Checking the code at
https://github.com/adamwaite/iOS-Build-Kit/blob/master/lib/ios_build_kit/tasks/create_ipa.rb#L69
code_sign configuration is set to code_sign_arg.
However, code_sign_args does not being use at
https://github.com/adamwaite/iOS-Build-Kit/blob/master/lib/ios_build_kit/tasks/create_ipa.rb#L71

In my environment, without specified the sign, the generated IPA will have old provision information.
I guess my Xcode's provisions are outdated, but I want to update my provisions handy without Xcode.

Are there any reasons for not specifying the sign in xcrun?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.