All Projects → eleme → Bigkeeper

eleme / Bigkeeper

Licence: mit
Efficiency improvement for iOS&Android modular development.

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Bigkeeper

Decouplingkit
decoupling between modules in your iOS Project. iOS模块化过程中模块间解耦方案
Stars: ✭ 136 (-31.31%)
Mutual labels:  cocoapods, modularization
Ios Modular Architecture
Template iOS application using Modular Architecture
Stars: ✭ 190 (-4.04%)
Mutual labels:  cocoapods, modularization
Platypush
A versatile and extensible platform for home and life automation with hundreds of supported integrations
Stars: ✭ 192 (-3.03%)
Mutual labels:  automation
Replica
Ghidra Analysis Enhancer 🐉
Stars: ✭ 194 (-2.02%)
Mutual labels:  automation
Mudpi Core
Configurable automation library for linux SBC boards including raspberry pi
Stars: ✭ 194 (-2.02%)
Mutual labels:  automation
Cltypinglabel
iOS UILabel with character by character typing /typewriter animation
Stars: ✭ 192 (-3.03%)
Mutual labels:  cocoapods
Xctestwd
A Swift implementation of WebDriver server for iOS that runs on Simulator/iOS devices.
Stars: ✭ 195 (-1.52%)
Mutual labels:  automation
Whatsnewkit
Showcase your awesome new app features 📱
Stars: ✭ 2,329 (+1076.26%)
Mutual labels:  cocoapods
Ansible Rails
Ruby on Rails deployment using Ansible - with Lets Encrypt, Sidekiq, PostgreSQL, nginx & puma
Stars: ✭ 199 (+0.51%)
Mutual labels:  automation
Imagetransition
Library for smooth animation of images during transitions.
Stars: ✭ 195 (-1.52%)
Mutual labels:  cocoapods
Mosint
An automated e-mail OSINT tool
Stars: ✭ 184 (-7.07%)
Mutual labels:  automation
Dotnet Testcontainers
A library to support tests with throwaway instances of Docker containers for all compatible .NET Standard versions.
Stars: ✭ 195 (-1.52%)
Mutual labels:  automation
Headless Burp
Automate security tests using Burp Suite.
Stars: ✭ 192 (-3.03%)
Mutual labels:  automation
Segmentio
Animated top/bottom segmented control written in Swift.
Stars: ✭ 2,310 (+1066.67%)
Mutual labels:  cocoapods
Podtobuild
An easy way to integrate CocoaPods into Bazel
Stars: ✭ 193 (-2.53%)
Mutual labels:  cocoapods
Python Scripts
Collection of Various Python Script's.💻
Stars: ✭ 195 (-1.52%)
Mutual labels:  automation
Swiftyanimate
Composable animations in Swift
Stars: ✭ 194 (-2.02%)
Mutual labels:  cocoapods
Allure Docker Service
This docker container allows you to see up to date reports simply mounting your "allure-results" directory in the container (for a Single Project) or your "projects" directory (for Multiple Projects). Every time appears new results (generated for your tests), Allure Docker Service will detect those changes and it will generate a new report automatically (optional: send results / generate report through API), what you will see refreshing your browser.
Stars: ✭ 194 (-2.02%)
Mutual labels:  automation
Svpinview
SVPinView is a light-weight customisable library used for accepting pin numbers or one-time passwords.
Stars: ✭ 197 (-0.51%)
Mutual labels:  cocoapods
Afnetworking Retrypolicy
Nice category that adds the ability to set the retry interval, retry count and progressiveness.
Stars: ✭ 197 (-0.51%)
Mutual labels:  cocoapods

English


bigkeeper

Build Status Maintainability Gem Version Language: Ruby License Gitter

bigkeeper 是一个 iOS&Android 模块化项目效率提升工具,旨在帮助有模块化需求的团队更轻松的渡过“半模块化”尴尬期。

使用这个工具后,开发者在主项目内即可完成包括其他业务模块在内所有代码的编写和管理。

我们借鉴 CocoaPods 的做法,开发团队只需要在主项目中加入一个 Bigkeeper 文件,然后利用我们提供的 big 命令,即可更便捷的实现代码分支业务模块的管理;另外,通过 big 命令提供的流程,也能帮助开发者养成更规范的日常开发习惯,减轻项目管理者的负担。

应用场景

在模块化项目的过渡阶段,我们往往会碰到业务拆分不是那么彻底的情况(PS:比如主项目中仍然存在业务相关代码),这样就会导致一系列问题:

  • 开发流程方面:开发者在开发一个 feature 时需要维护多个项目的分支,同时还要频繁修改主项目的 Podfile;
  • 项目管理者需要花很大精力去和团队成员同步项目管理规范流程,尤其对于新人,挑战很大;
  • 开发过程中如果碰到突发情况需要开新分支处理问题时对当前工作区的保存操作会很繁琐(PS:因为涉及到多个项目);
  • 日常开发过程中类似 commit、pull、push 等操作比较繁琐(PS:因为涉及到多个项目);
  • 资源(比如图片)散落在各个业务模块,可能存在重名、重复等问题,难以管理;
  • 业务模块可能存在横向依赖的问题,导致业务模块间耦合严重,不能单独编译运行。
  • 各模块依赖的版本没有统一的同步更新方式,导致各个模块的开发环境不一致,问题百出。

bigkeeper 的出现就是为了解决这些问题。

注:也有很多人认为直接做一个完整的组件化项目更合理,而不需要采用这样曲折的方案,但是很多时候我们并没有这么多的精力直接去做这些事情,bigkeeper 存在的价值也是为了帮助开发团队在** iOS&Android 模块化项目过渡阶段**能更轻松的往前走。

安装

  • 当作 Ruby Gem 使用: 在项目的 Gemfile 中加入下面这行:

    gem 'bigkeeper'
    

    然后执行:

    $ bundle

  • 直接安装:

    $ gem install bigkeeper

使用方法

  • Bigkeeper 文件配置

  • bigkeeper 工具使用:

    直接在命令行执行 bigkeeper 可以查看其提供的所有功能:

    NAME
      big - Efficiency improvement for iOS&Android module development, iOSer&Android using this tool can make module development easier.
    
    SYNOPSIS
      big [global options] command [command options] [arguments...]
    
    
    GLOBAL OPTIONS
      --help         - Show this message
      -p, --path=arg - (default: ./)
      -u, --user=arg - (default: mmoaay)
      -v, --ver=arg  - (default: Version in Bigkeeper file)
    
    COMMANDS
      feature - Gitflow feature operations
      help    - Shows a list of commands or help for one command
      hotfix  - Gitflow hotfix operations
      image   - Image operations
      podfile - Podfile operation
      release - Gitflow release operations
      spec    - Spec operations
      version - Show version of bigkeeper
    

    全局参数如下:

    • -p, --path:主项目所在的目录,默认是执行 bigkeeper 命令的当前目录;
    • -v, --ver:版本号,如果没有指定的话,会以主项目 Bigkeeper 文件中指定的版本为准。
    • -u, --user:用户名,默认是 git global config 的 user.name,会显示在命令提示信息中,比如上述提示信息中的默认用户名是 mmoaay

    功能列表如下:

    • feature:功能开发流程;
    • hotfix:线上 Bug 修复流程;
    • release:发布流程;
    • podfile:Podfile 管理;
    • image:图片管理;
    • spec:spec 管理;
    • version:查看 bigkeeper 当前版本号;
    • help:查看 bigkeeper 帮助文档。

其他

协议

bigkeeper 基于 MIT 协议进行分发和使用,更多信息参见协议文件。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].